package test native testFail(string msg) native testSuccess() module A function bar() returns int return 2 module B function foo() returns int return 3 module C use A use B module D use C class E use D init E e = new E() if e.foo() != 3 testFail("foo fail") if e.bar() != 2 testFail("bar fail") testSuccess() endpackage