Sha256: f094e60f88890dbec78519a8a7f9cea65c41b0b9e8df90001cfa0e8b251c2d7c
Contents?: true
Size: 1.38 KB
Versions: 71
Compression:
Stored size: 1.38 KB
Contents
import testgen._ import TestSuiteBuilder.{toString, _} import java.io.File object FoodChainTestGenerator { def sutArgsFromInput(parseResult: CanonicalDataParser.ParseResult, argNames: String*): String = { val input = parseResult("input").asInstanceOf[Map[String, Int]] val firstParam = input("startVerse").toString val secondParam = input("endVerse").toString firstParam + ", " + secondParam } def main(args: Array[String]): Unit = { val file = new File("src/main/resources/food-chain.json") val RawQuote = "\"\"\"" def asRawString(str: String): String = s"$RawQuote$str$RawQuote" def fromLabeledTestFromInput(argNames: String*)( implicit sutFunction: LabeledTest => String = _.property): ToTestCaseData = withLabeledTest { sut => labeledTest => val sutFunction = labeledTest.property val args = sutArgsFromInput(labeledTest.result, argNames: _*) val sutCall = s"$sut.$sutFunction(${args})" val expectedLines = labeledTest.expected.right.get.asInstanceOf[List[String]] val expected = expectedLines mkString ("", "\n", "\n\n") TestCaseData(labeledTest.description, sutCall, asRawString(expected)) } val code = TestSuiteBuilder.build(file, fromLabeledTestFromInput("startVerse", "endVerse")) println(s"-------------") println(code) println(s"-------------") } }
Version data entries
71 entries across 71 versions & 1 rubygems