Sha256: 3a880f5348076c1a5308d07bf10ee33efc5b03a94a0852d99175f00d1547e075
Contents?: true
Size: 1.36 KB
Versions: 64
Compression:
Stored size: 1.36 KB
Contents
import java.io.File import testgen.CanonicalDataParser.ParseResult import testgen.TestSuiteBuilder.{toString, _} import testgen._ object SpaceAgeTestGenerator { def main(args: Array[String]): Unit = { val file = new File("src/main/resources/space-age.json") def toString(expected: CanonicalDataParser.Expected): String = { expected match { case Left(_) => throw new IllegalStateException() case Right(n) => s"$n" } } def sutArgsFromInput(parseResult: CanonicalDataParser.ParseResult, argNames: String*): String = argNames map (name => TestSuiteBuilder.toString(fromInputMap(parseResult, name))) mkString ", " def functionName(parseResult: CanonicalDataParser.ParseResult): String = "on" + fromInputMap(parseResult, "planet").toString def fromLabeledTestFromInput(argNames: String*): ToTestCaseData = withLabeledTest { sut => labeledTest => val args = sutArgsFromInput(labeledTest.result, argNames: _*) val sutCall = s"""$sut.${functionName(labeledTest.result)}($args)""" val expected = toString(labeledTest.expected) TestCaseData(labeledTest.description, sutCall, expected) } val code = TestSuiteBuilder.build(file, fromLabeledTestFromInput("seconds")) println(s"-------------") println(code) println(s"-------------") } }
Version data entries
64 entries across 64 versions & 1 rubygems