package org.reldb.rel.tests.main; import org.junit.After; import org.junit.Test; import org.reldb.rel.tests.BaseOfTest; import org.reldb.rel.v0.values.*; public class TestNestedOp1 extends BaseOfTest { @Test public void testNestedOp1() { String src = "BEGIN;" + "OPERATOR go() RETURNS INTEGER;" + "BEGIN;" + "var a integer;" + "var b integer;" + "var c integer;" + "OPERATOR blah();" + " BEGIN;" + " OPERATOR bleat();" + " a := 10;" + " END OPERATOR;" + " OPERATOR blat();" + " b := 12;" + " END OPERATOR;" + " CALL bleat();" + " CALL blat();" + " c := a + b;" + " END;" + "END OPERATOR;" + "CALL blah();" + "RETURN c;" + "END;" + "END OPERATOR;" + "END;" + "go()"; assertValueEquals(ValueInteger.select(generator, 22), testEvaluate(src).getValue()); } @After public void testNestedOp1_cleanup() { String src = "BEGIN;" + " DROP OPERATOR go();" + "END;" + "true"; assertValueEquals(ValueBoolean.select(generator, true), testEvaluate(src).getValue()); } }