main_marking5/bf_test3.scala
author Christian Urban <christian.urban@kcl.ac.uk>
Mon, 21 Jul 2025 16:38:07 +0100
changeset 491 2a30c7dfe3ed
parent 460 f5c0749858fd
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
491
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     1
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     2
def urbanmain() = {
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     3
  import M5a._
392
e776db3c808b marking 5
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     4
491
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     5
  import scala.concurrent._
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     6
  import scala.concurrent.duration._
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     7
  import ExecutionContext.Implicits.global
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     8
  import scala.language.postfixOps 
460
f5c0749858fd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 421
diff changeset
     9
491
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    10
  lazy val f = Future {
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    11
    assert(jumpRight("[xxxxxx]xxx", 1, 0) == 8)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    12
    assert(jumpRight("[xx[x]x]xxx", 1, 0) == 8)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    13
    assert(jumpRight("[xx[x]x]xxx", 1, 0) == 8)  
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    14
    assert(jumpRight("[xx[xxx]xxx", 1, 0) == 11)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    15
    assert(jumpRight("[x[][]x]xxx", 1, 0) == 8)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    16
    assert(jumpLeft("[xxxxxx]xxx", 6, 0) == 1)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    17
    assert(jumpLeft("[xxxxxx]xxx", 7, 0) == -1)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    18
    assert(jumpLeft("[x[][]x]xxx", 6, 0) == 1)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    19
  }
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    20
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    21
  Await.result(f, 32 second)
460
f5c0749858fd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 421
diff changeset
    22
}