package org.trimou.engine.context; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import java.util.ArrayList; import org.junit.Test; import org.trimou.AbstractEngineTest; import org.trimou.Hammer; /** * * @author Martin Kouba * */ public class DefaultExecutionContextTest extends AbstractEngineTest { @Test public void testGlobalExecutionContext() { ExecutionContext ctx01 = ExecutionContexts .newGlobalExecutionContext(engine.getConfiguration()); assertNotNull(ctx01); assertNull(ctx01.getParent()); assertNull(ctx01.getFirstContextObject()); assertNull(ctx01.getValue("this").get()); ExecutionContext ctx02 = ctx01.setContextObject(new Hammer()); assertNotNull(ctx02.getParent()); assertEquals(ctx01, ctx02.getParent()); assertNotNull(ctx02.getValue("this").get()); ExecutionContext ctx03 = ctx02 .setDefiningSections(new ArrayList<>()); assertNotNull(ctx03.getFirstContextObject()); assertNotNull(ctx03.getParent()); assertEquals(ctx02.getFirstContextObject(), ctx03.getFirstContextObject()); assertNull(ctx03.getDefiningSection("foo")); } }