diff --git a/src/test/scala/leon/test/purescala/TreeOpsTests.scala b/src/test/scala/leon/test/purescala/TreeOpsTests.scala index 790bf7d577e782e55c67fa3311796889ae7c174f..d86c4866ec019d0224b66b9697d139283362da58 100644 --- a/src/test/scala/leon/test/purescala/TreeOpsTests.scala +++ b/src/test/scala/leon/test/purescala/TreeOpsTests.scala @@ -119,6 +119,23 @@ class TreeOpsTests extends LeonTestSuite { assert(eq4 != None) assert(eq4.get === eq) assert(extractEquals(r4)._1 === None) + } + test("pre and post traversal") { + val expr = Plus(IntLiteral(1), Minus(IntLiteral(2), IntLiteral(3))) + var res = "" + def f(e: Expr): Unit = e match { + case IntLiteral(i) => res += i + case _ : Plus => res += "P" + case _ : Minus => res += "M" + } + + preTraversal(f)(expr) + assert(res === "P1M23") + + res = "" + postTraversal(f)(expr) + assert(res === "123MP") } + }