cw3_marking/c4.sc
changeset 978 8778d23fef92
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cw3_marking/c4.sc	Mon Feb 03 12:34:38 2025 +0000
@@ -0,0 +1,19 @@
+// for testing evaluation
+
+import scala.util.{Try, Success, Failure}
+import $file.cw034_add
+import cw034_add._
+
+val str = os.read(os.pwd / "primes.while")
+val resmap = Map("end" -> 100, "n" -> 100, "f" -> 4, "tmp" -> 1)
+
+def mapeq[A, B](m1: Map[A, B], m2: Map[A, B]) : Boolean = {
+  m1.keySet.forall(k => m1(k) == m2(k))
+}
+
+
+Try(test_string(str)) match {
+  case Success(v) if mapeq(resmap, v) => Console.println(s"   Generated the correct result $v")
+  case Success(v) => Console.println(s"   Generated $v\n instead of\n $resmap\n.") ; throw new Exception("Different")
+  case Failure(e) => Console.println(s"   Exception raised.") ; throw(e)
+}