| author | Christian Urban <urbanc@in.tum.de> | 
| Tue, 07 Nov 2017 13:08:18 +0000 | |
| changeset 127 | 01d522ba48d4 | 
| parent 93 | 21f41e08457d | 
| permissions | -rw-r--r-- | 
| 92 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 1 | |
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 2 | import scala.concurrent._ | 
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 3 | import scala.concurrent.duration._ | 
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 4 | import ExecutionContext.Implicits.global | 
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 5 | import scala.language.postfixOps | 
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 6 | |
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 7 | |
| 93 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 8 | val EVIL_urban = SEQ(STAR(STAR(CHAR('a'))), CHAR('b'))
 | 
| 92 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 9 | |
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 10 | lazy val f = Future {
 | 
| 93 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 11 |   println("1")
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 12 |   assert(ders(List.fill(5)('a'), EVIL_urban) == SEQ(SEQ(STAR(CHAR('a')),STAR(STAR(CHAR('a')))),CHAR('b')))
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 13 |   println("2")
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 14 |   assert(ders(List('b'), EVIL_urban) == ONE)
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 15 |   println("3")
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 16 |   assert(ders(List('b','b'), EVIL_urban) == ZERO)
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 17 |   println("4")
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 18 | assert(matcher(EVIL_urban, "a" * 5 ++ "b") == true) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 19 |   println("5")
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 20 | assert(matcher(EVIL_urban, "b") == true) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 21 |   println("6") 
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 22 | assert(matcher(EVIL_urban, "bb") == false) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 23 |   println("7")
 | 
| 92 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 24 |   assert(matcher("abc", "abc") == true)
 | 
| 93 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 25 |   println("8")
 | 
| 92 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 26 |   assert(matcher(("ab" | "a") ~ (ONE | "bc"), "abc") == true)
 | 
| 93 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 27 |   println("9")
 | 
| 92 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 28 | assert(matcher(ONE, "") == true) | 
| 93 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 29 |   println("10")
 | 
| 92 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 30 | assert(matcher(ZERO, "") == false) | 
| 93 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 31 |   println("11")
 | 
| 92 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 32 |   assert(matcher(ONE | CHAR('a'), "") == true)
 | 
| 93 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
92diff
changeset | 33 |   println("12")
 | 
| 92 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 34 |   assert(matcher(ONE | CHAR('a'), "a") == true)
 | 
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 35 | } | 
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 36 | |
| 
cfff88de2ff5
updatd
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 37 | Await.result(f, 90 second) |