package org.reldb.rel.tests.main; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.reldb.rel.tests.BaseOfTest; public class TestPossrep23 extends BaseOfTest { @BeforeClass public static void testPossrep23() { // Recursive tagged union String src = "BEGIN;" + "TYPE StringTree UNION;" + "TYPE node IS {StringTree POSSREP {string CHAR, left StringTree, right StringTree}};" + "TYPE nothing IS {StringTree POSSREP nothing {}};" + "END; true"; String expected = "true"; testEquals(expected, src); } @Test public void testPossrep24() { String src = "node('x', node('y', nothing(), nothing()), nothing())"; String expected = "node(\"x\", node(\"y\", nothing(), nothing()), nothing())"; testEquals(expected, src); } @Test public void testPossrep25() { String src = "node('x', nothing(), nothing()) = node('x', nothing(), nothing())"; String expected = "true"; testEquals(expected, src); } @Test public void testPossrep26() { String src = "node('x', nothing(), nothing()) = node('x', nothing(), nothing())"; String expected = "true"; testEquals(expected, src); } @Test public void testPossrep27() { String src = "node('y', nothing(), nothing()) <> node('x', nothing(), nothing())"; String expected = "true"; testEquals(expected, src); } @Test public void testPossrep28() { String src = "node('y', node('x', nothing(), nothing()), nothing()) <> node('x', nothing(), nothing())"; String expected = "true"; testEquals(expected, src); } @Test public void testPossrep30() { String src = "nothing() = nothing()"; String expected = "true"; testEquals(expected, src); } @AfterClass public static void testPossrep31() { String src = "BEGIN;" + "DROP TYPE nothing;" + "DROP TYPE node;" + "DROP TYPE StringTree;" + "END; true"; String expected = "true"; testEquals(expected, src); } }