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 TestComplexExpression7 extends BaseOfTest {
@Test
public void testComplexExpression7() {
String src =
"begin;" +
" operator blah(p integer, q tuple {x integer, y rational}, r rational, s char) " +
" returns tuple {a tuple {x integer, y rational}, b rational, c integer, d char};" +
" return tuple {a q, b r, c p, d s};" +
" end operator;" +
"end;" +
"blah(5, tuple {x 1, y 2.3}, 3.8, 'fish')";
String expected =
"TUPLE {a TUPLE {x 1, y 2.3}, b 3.8, c 5, d \"fish\"}";
testEquals(expected, src);
}
@After
public void testComplexExpression7_cleanup() {
String src =
"BEGIN;" +
" DROP OPERATOR blah(integer, tuple {x integer, y rational}, rational, char);" +
"END;" +
"true";
assertValueEquals(ValueBoolean.select(generator, true), testEvaluate(src).getValue());
}
}