package org.reldb.rel.tests.main; import org.junit.Test; import org.reldb.rel.tests.BaseOfTest; public class TestLambda1 extends BaseOfTest { @Test public void testLambda0() { String src = "(OPERATOR (x INTEGER, y INTEGER) RETURNS INTEGER;" + " RETURN x + y;" + " END OPERATOR) (2, 4)"; testEquals("6", src); } @Test public void testLambda1() { String src = "BEGIN;" + " VAR myvar OPERATOR (INTEGER, INTEGER) RETURNS INTEGER;" + " myvar := OPERATOR (x INTEGER, y INTEGER) RETURNS INTEGER; RETURN x + y; END OPERATOR;" + "END;" + "(myvar) (2, 4)"; testEquals("6", src); } @Test public void testLambda2() { String src = "(operator (x integer, y integer) returns integer;" + " return (operator (z integer) returns integer; return x + z; end operator) (y);" + "end operator) (2, 4)"; testEquals("6", src); } @Test public void testLambda4() { String src = "((OPERATOR (x INTEGER) RETURNS OPERATOR (INTEGER) RETURNS INTEGER;" + " RETURN ~[ (a INTEGER) RETURNS INTEGER; RETURN x + a; ]~;" + " END OPERATOR)" + "(2)) (4)"; testEquals("6", src); } }