diff -r 7acbef680bef -r f5c0749858fd main_marking5/bf_test6.scala --- a/main_marking5/bf_test6.scala Sun Jan 15 10:58:13 2023 +0000 +++ b/main_marking5/bf_test6.scala Sat Mar 11 22:01:53 2023 +0000 @@ -1,18 +1,33 @@ import M5b._ -assert(optimise(load_bff("benchmark.bf")).length == 181) -assert(optimise(load_bff("mandelbrot.bf")).length == 11205) +import io.Source +import scala.util._ +def urban_load_bff(name: String) : String = + Try(Source.fromFile(name)("ISO-8859-1").mkString).getOrElse("") +import scala.concurrent._ +import scala.concurrent.duration._ +import ExecutionContext.Implicits.global +import scala.language.postfixOps -assert(run3("[-]", Map(0 -> 100)) == Map(0 -> 0)) -assert(run3("[->+<]", Map(0 -> 10)) == Map(0 -> 0, 1 -> 10)) -assert(run3("[>>+>>+<<<<-]", Map(0 -> 42)) == Map(0 -> 0, 2 -> 42, 4 -> 42)) -val hw_urban2 = """+++++[->++++++++++<]>--<+++[->>++++++++++ +lazy val f = Future { + assert(optimise(urban_load_bff("benchmark.bf")).length == 181) + assert(optimise(urban_load_bff("sierpinski.bf")).length == 110) + + assert(run3("[-]", Map(0 -> 100)) == Map(0 -> 0)) + assert(run3("[->+<]", Map(0 -> 10)) == Map(0 -> 0, 1 -> 10)) + assert(run3("[>>+>>+<<<<-]", Map(0 -> 42)) == Map(0 -> 0, 2 -> 42, 4 -> 42)) + val hw_urban2 = """+++++[->++++++++++<]>--<+++[->>++++++++++ <<]>>++<<----------[+>.>.<+<]""" -assert(run3(hw_urban2) == Map(0 -> 0, 1 -> 58, 2 -> 32)) + assert(run3(hw_urban2) == Map(0 -> 0, 1 -> 58, 2 -> 32)) -val hw_urban3 = """++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---. + val hw_urban3 = """++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---. +++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.""" -assert(run3(hw_urban3) == Map(0 -> 0, 5 -> 33, 1 -> 0, 6 -> 10, 2 -> 72, 3 -> 100, 4 -> 87)) + assert(run3(hw_urban3) == Map(0 -> 0, 5 -> 33, 1 -> 0, 6 -> 10, 2 -> 72, 3 -> 100, 4 -> 87)) + +} + +Await.result(f, 32 second) +