package org.whole.lang.mediawiki.tests; import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*; import static org.whole.lang.tests.junit.EntityMatchers.*; import org.junit.*; import org.whole.lang.model.IEntity; import org.whole.lang.reflect.ReflectionFactory; import org.whole.lang.tests.junit.TestCase; public class GrammarTest extends TestCase { @BeforeClass public static void wholeDeploy() { ReflectionFactory.deploy(new Deployer()); bindGrammar(); } @AfterClass public static void wholeUndeploy() { ReflectionFactory.undeploy(new Deployer()); } protected static class Deployer extends org.whole.lang.reflect.AbstractContributionDeployer { public void deploy(ReflectionFactory platform) { evaluate("fragment"); } } protected static IEntity create(String templateName) { return GrammarTestTemplateManager.instance().create(templateName); } protected static IEntity evaluate(String templateName) { return evaluate(create(templateName)); } /** * */ static public void bindGrammar() { evaluate("fragment1"); } /** * */ @Test public void testTable() { bindings().wEnterScope(); IEntity subject; subject = evaluate("fragment2"); assertThat("at /testCases/0/tests/0/body/0", subject, matches(create("fragment3"))); subject = evaluate("fragment4"); assertThat("at /testCases/0/tests/0/body/1", subject, matches(create("fragment5"))); subject = evaluate("fragment6"); assertThat("at /testCases/0/tests/0/body/2", subject, matches(create("fragment7"))); subject = evaluate("fragment8"); assertThat("at /testCases/0/tests/0/body/3", subject, matches(create("fragment9"))); subject = evaluate("fragment10"); assertThat("at /testCases/0/tests/0/body/4", subject, matches(create("fragment11"))); subject = evaluate("fragment12"); assertThat("at /testCases/0/tests/0/body/5", subject, matches(create("fragment13"))); subject = evaluate("fragment14"); assertThat("at /testCases/0/tests/0/body/6", subject, matches(create("fragment15"))); subject = evaluate("fragment16"); assertThat("at /testCases/0/tests/0/body/7", subject, matches(create("fragment17"))); subject = evaluate("fragment18"); assertThat("at /testCases/0/tests/0/body/8", subject, matches(create("fragment19"))); subject = evaluate("fragment20"); assertThat("at /testCases/0/tests/0/body/9", subject, matches(create("fragment21"))); subject = evaluate("fragment22"); assertThat("at /testCases/0/tests/0/body/10", subject, matches(create("fragment23"))); subject = evaluate("fragment24"); assertThat("at /testCases/0/tests/0/body/11", subject, matches(create("fragment25"))); subject = evaluate("fragment26"); assertThat("at /testCases/0/tests/0/body/12", subject, matches(create("fragment27"))); subject = evaluate("fragment28"); assertThat("at /testCases/0/tests/0/body/13", subject, matches(create("fragment29"))); subject = evaluate("fragment30"); assertThat("at /testCases/0/tests/0/body/14", subject, matches(create("fragment31"))); subject = evaluate("fragment32"); assertThat("at /testCases/0/tests/0/body/15", subject, matches(create("fragment33"))); bindings().wExitScope(); } }