package com.sap.furcas.runtime.textblocks.testbase; import static org.junit.Assert.assertEquals; import org.junit.Test; /** * Base class for TextBlock related test cases. Sets up a common fixture model * and makes all elements available through protected members. * * @author D052602 * */ public class TestTextBlockTestFixture extends FixtureProvidingTextBlockTest { @Test public void testFixtureLengths() { TextblocksTestHelper.assertNodeLength(main); TextblocksTestHelper.assertNodeLength(bos); TextblocksTestHelper.assertNodeLength(left); TextblocksTestHelper.assertNodeLength(leftLeft); TextblocksTestHelper.assertNodeLength(lexed1); TextblocksTestHelper.assertNodeLength(lexed2); TextblocksTestHelper.assertNodeLength(middle); TextblocksTestHelper.assertNodeLength(lexed3); TextblocksTestHelper.assertNodeLength(subBlock1); TextblocksTestHelper.assertNodeLength(subBlock2); TextblocksTestHelper.assertNodeLength(subBlock3); TextblocksTestHelper.assertNodeLength(subBlock4); TextblocksTestHelper.assertNodeLength(subToken); TextblocksTestHelper.assertNodeLength(right); TextblocksTestHelper.assertNodeLength(lexed4); TextblocksTestHelper.assertNodeLength(eos); } @Test public void testFixtureOffsets() { TextblocksTestHelper.assertNodeOffset(main); TextblocksTestHelper.assertNodeOffset(bos); TextblocksTestHelper.assertNodeOffset(left); TextblocksTestHelper.assertNodeOffset(leftLeft); TextblocksTestHelper.assertNodeOffset(lexed1); TextblocksTestHelper.assertNodeOffset(lexed2); TextblocksTestHelper.assertNodeOffset(middle); TextblocksTestHelper.assertNodeOffset(lexed3); TextblocksTestHelper.assertNodeOffset(subBlock1); TextblocksTestHelper.assertNodeOffset(subBlock2); TextblocksTestHelper.assertNodeOffset(subBlock3); TextblocksTestHelper.assertNodeOffset(subBlock4); TextblocksTestHelper.assertNodeOffset(subToken); TextblocksTestHelper.assertNodeOffset(right); TextblocksTestHelper.assertNodeOffset(lexed4); TextblocksTestHelper.assertNodeOffset(eos); } /** * Double check all parent-child relationships */ @Test public void testFixtureStructure() { assertEquals(true, main.getTokens().contains(bos)); assertEquals(true, main.getSubBlocks().contains(left)); assertEquals(true, main.getTokens().contains(lexed2)); assertEquals(true, main.getSubBlocks().contains(middle)); assertEquals(true, main.getTokens().contains(eos)); assertEquals(true, left.getSubBlocks().contains(leftLeft)); assertEquals(true, leftLeft.getTokens().contains(lexed1)); assertEquals(true, middle.getTokens().contains(lexed3)); assertEquals(true, middle.getSubBlocks().contains(subBlock1)); assertEquals(true, subBlock1.getSubBlocks().contains(subBlock2)); assertEquals(true, subBlock2.getSubBlocks().contains(subBlock3)); assertEquals(true, subBlock3.getSubBlocks().contains(subBlock4)); assertEquals(true, subBlock4.getTokens().contains(subToken)); assertEquals(true, right.getTokens().contains(lexed4)); assertEquals(main, left.getParent()); assertEquals(left, leftLeft.getParent()); assertEquals(main, bos.getParent()); assertEquals(leftLeft, lexed1.getParent()); assertEquals(main, lexed2.getParent()); assertEquals(main, middle.getParent()); assertEquals(middle, lexed3.getParent()); assertEquals(middle, subBlock1.getParent()); assertEquals(subBlock1, subBlock2.getParent()); assertEquals(subBlock2, subBlock3.getParent()); assertEquals(subBlock3, subBlock4.getParent()); assertEquals(subBlock4, subToken.getParent()); assertEquals(right, lexed4.getParent()); assertEquals(main, right.getParent()); assertEquals(main, eos.getParent()); } @Test public void testFixtureValues() { TextblocksTestHelper.assertCachedString(main); TextblocksTestHelper.assertCachedString(left); TextblocksTestHelper.assertCachedString(leftLeft); TextblocksTestHelper.assertCachedString(middle); TextblocksTestHelper.assertCachedString(subBlock1); TextblocksTestHelper.assertCachedString(subBlock2); TextblocksTestHelper.assertCachedString(subBlock3); TextblocksTestHelper.assertCachedString(subBlock4); TextblocksTestHelper.assertCachedString(right); } }