Sha256: 7bb0bc3380c6dec849ab77ba287537de7dbeef020a530ccd07ab0f3c76b8af2d
Contents?: true
Size: 1.89 KB
Versions: 59
Compression:
Stored size: 1.89 KB
Contents
import java.io.File import testgen.TestSuiteBuilder._ import testgen._ object GrainsTestGenerator { def main(args: Array[String]): Unit = { def toString(expected: CanonicalDataParser.Expected): String = { expected match { case Left(_) => "None" case Right(-1) => "None" case Right(n: BigDecimal) => if (n > Int.MaxValue) s"""Some(BigInt(\"$n\"))""" else s"Some($n)" case Right(n: Double) => s"""Some(BigInt("${n.toLong}"))""" case Right(n) => s"Some($n)" } } def toStringForTotal(expected: CanonicalDataParser.Expected): String = { expected match { case Right(n: BigDecimal) => s"""BigInt(\"$n\")""" case Right(l: Long) => s"""Long(\"${l.toString}\")""" case Right(d: Double) => s"""Long(\"${d.toLong.toString}\")""" case Right(v) => v.toString case _ => throw new IllegalStateException } } val file = new File("src/main/resources/grains.json") def fromLabeledTestFromInput(): ToTestCaseData = withLabeledTest { sut => labeledTest => val square = labeledTest.result("input").asInstanceOf[Map[String, Any]].get("square") val args = square match { case None => "" case Some(s) => s.toString } val property = labeledTest.property.mkString val sutCall = if (args.length > 0) s"""Grains.$property($args)""" else s"""Grains.$property""" val expected = if (args.length > 0) toString(labeledTest.expected) else toStringForTotal(labeledTest.expected) TestCaseData(labeledTest.description, sutCall, expected) } val code = TestSuiteBuilder.build(file, fromLabeledTestFromInput()) println(s"‐‐‐‐‐‐‐‐‐‐‐‐‐") println(code) println(s"‐‐‐‐‐‐‐‐‐‐‐‐‐") } }
Version data entries
59 entries across 59 versions & 1 rubygems