Sha256: 330874a123b0bf51dac4fbafa7a2c91da12f82d7adda1deb5c864b6f9e6e9ff8
Contents?: true
Size: 1.22 KB
Versions: 71
Compression:
Stored size: 1.22 KB
Contents
import java.io.File import testgen.{CanonicalDataParser, TestCaseData, TestSuiteBuilder} import testgen.TestSuiteBuilder.{ToTestCaseData, quote, withLabeledTest} object MatrixTestGenerator { def toString(expected: CanonicalDataParser.Expected): String = { expected match { case Right(xs: List[Int]) => xs mkString ", " case _ => throw new IllegalArgumentException } } def fromLabeledTestFromInput(): ToTestCaseData = withLabeledTest { sut => labeledTest => val input = labeledTest.result("input").asInstanceOf[Map[String, Any]] val matrix = input("string").asInstanceOf[String].lines.map(l => s""""$l""").mkString("\\n\" +") + "\"" val index = input("index").toString val property = labeledTest.property val sutCall = s"""$sut($matrix).$property($index)""" val expected = s"""Vector(${toString(labeledTest.expected)})""" TestCaseData(labeledTest.description, sutCall, expected) } def main(args: Array[String]): Unit = { val file = new File("src/main/resources/matrix.json") val code = TestSuiteBuilder.build(file, fromLabeledTestFromInput()) println(s"-------------") println(code) println(s"-------------") } }
Version data entries
71 entries across 71 versions & 1 rubygems