depthfirstanalysisadaptertest.java

来自「Jamon是一个Java文本模板引擎」· Java 代码 · 共 67 行

JAVA
67
字号
package org.jamon.node;import org.jamon.TemplateFileLocation;import junit.framework.TestCase;public class DepthFirstAnalysisAdapterTest extends TestCase{    private static final String s_path = "foo";    private static final String[] s_values = {"value1", "value2"};     class TestAnalyzer extends DepthFirstAnalysisAdapter    {        @Override public void inTopNode(TopNode p_node)        {            assertFalse(inTopNodeCalled);            assertFalse(outTopNodeCalled);            inTopNodeCalled = true;        }                @Override public void outTopNode(TopNode p_node)        {            assertTrue(inTopNodeCalled);            assertFalse(outTopNodeCalled);            outTopNodeCalled = true;        }                @Override public void casePathElementNode(PathElementNode p_node)        {            assertFalse(casePathElementCalled);            casePathElementCalled = true;            assertEquals(s_path, p_node.getName());        }                @Override public void caseParamValueNode(ParamValueNode p_node)        {            assertTrue(paramsSeen < 2);            assertEquals(s_values[paramsSeen], p_node.getValue());            paramsSeen++;        }                boolean inTopNodeCalled = false;        boolean outTopNodeCalled = false;        boolean casePathElementCalled = false;        int paramsSeen = 0;    }        public void testAnalysis()    {        Location loc = new Location(new TemplateFileLocation("x"), 1,1);        TopNode top = (TopNode) new TopNode(loc)            .addSubNode(new SimpleCallNode(                loc,                new AbsolutePathNode(loc).addPathElement(                    new PathElementNode(loc, s_path)),                new UnnamedParamsNode(loc)                    .addValue(new ParamValueNode(loc, s_values[0]))                    .addValue(new ParamValueNode(loc, s_values[1]))));        TestAnalyzer testAnalyzer= new TestAnalyzer();        top.apply(testAnalyzer);        assertTrue(testAnalyzer.inTopNodeCalled);        assertTrue(testAnalyzer.outTopNodeCalled);        assertTrue(testAnalyzer.casePathElementCalled);        assertEquals(2, testAnalyzer.paramsSeen);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?