module env-traversal-test
imports libstratego-lib
signature
  constructors
    F : A * A -> A
    G : A -> A
    A : A
    B : A

strategies

  main = 
    test-suite(!"env-traversal-test",
      test1
    )

  test1 =
    apply-test(!"test1a"
	, count-bottomup(?F(_,_)); ?(_,<id>)
	, !F(A,G(F(B,A)))
	, !2
	);
    apply-test(!"test1b"
	, count-bottomup(\ F(B,x) -> x \ )
	, !F(A,G(F(B,A)))
	, !(F(A,G(A)),1)
	)
