From 0d13c649bdabafde59233609be7bd88e273c7ae6 Mon Sep 17 00:00:00 2001 From: Jack Sangdahl Date: Thu, 12 Dec 2024 21:02:45 -0700 Subject: Unit 2 Signed-off-by: Jack Sangdahl --- .../test/scala/jsy/tester/JavascriptyTester.scala | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lab2/src/test/scala/jsy/tester/JavascriptyTester.scala (limited to 'lab2/src/test/scala/jsy/tester/JavascriptyTester.scala') diff --git a/lab2/src/test/scala/jsy/tester/JavascriptyTester.scala b/lab2/src/test/scala/jsy/tester/JavascriptyTester.scala new file mode 100644 index 0000000..ab611b9 --- /dev/null +++ b/lab2/src/test/scala/jsy/tester/JavascriptyTester.scala @@ -0,0 +1,27 @@ +package jsy.tester + +import java.io.File + +import jsy.util.JsyApplication +import org.scalatest._ +import flatspec._ + +/* + * A ScalaTest interface for running system tests. + */ +class JavascriptyTester(rootPrefix: Option[String], testDirectory: String, jsy: JsyApplication) extends AnyFlatSpec { + + val testResources = s"src${File.separator}test${File.separator}resources" + val testPrefix = rootPrefix match { + case None => testResources + case Some(p) => s"${p}${File.separator}${testResources}" + } + val testPath = s"${testPrefix}${File.separator}${testDirectory}" + jsy.test(new File(testPath)) { case (in,ans,assertion) => + s"eval on ${in}" should s"match ${ans}" in { + val (b: Boolean, msg: String) = assertion + assert(b, msg) + } + } + +} -- cgit v1.2.3