main_marking3/re_test3a.scala
author Christian Urban <christian.urban@kcl.ac.uk>
Fri, 12 Sep 2025 10:36:07 +0100
changeset 495 b47879225270
parent 494 253d1ccb65de
permissions -rw-r--r--
updated


def urbanmain() = {
  import M3._

  assert(flts(Nil) == Nil)
  assert(flts(ZERO::ZERO::Nil) == List(ZERO))
  assert(flts(ZERO::ONE::ZERO::ONE::Nil) == List(ZERO))
  assert(flts(ONE::ALTs(List(ONE))::ONE::Nil) == List(ALTs(List(ONE))))
  assert(flts(ONE::ALTs(List(ONE))::ONE::ALTs(List(ONE))::Nil) == List(ALTs(List(ONE)), ALTs(List(ONE))))
  assert(flts(List(CHAR('a'), ONE, ONE, CHAR('b')), Nil) == List(CHAR('a'), CHAR('b')))
  assert(flts(List(ONE ~ CHAR('a'), CHAR('b') ~ ONE), Nil) == List(ONE, CHAR('a'), CHAR('b'), ONE))
}