public void TestString() { string templates = "t() ::= <<foo>>" + Environment.NewLine; writeFile(tmpdir, "t.stg", templates); TemplateGroup group = new TemplateGroupFile(Path.Combine(tmpdir, "t.stg")); group.Debug = true; DebugTemplate st = (DebugTemplate)group.GetInstanceOf("t"); List <InterpEvent> events = st.GetEvents(); string expected = "[EvalExprEvent{self=t(), output=[0..3), expr=foo}," + " EvalTemplateEvent{self=t(), output=[0..3)}]"; string result = events.ToListString(); Assert.AreEqual(expected, result); }
public void TestTemplateCall() { string templates = "t(x) ::= <<[<u()>]>>\n" + "u() ::= << <x> >>\n"; writeFile(tmpdir, "t.stg", templates); TemplateGroup group = new TemplateGroupFile(Path.Combine(tmpdir, "t.stg")); group.Debug = true; DebugTemplate st = (DebugTemplate)group.GetInstanceOf("t"); List <InterpEvent> events = st.GetEvents(); string expected = "[EvalExprEvent{self=t(x), output=[0..1), expr=[}," + " EvalExprEvent{self=u(), output=[1..1), expr=<x>}," + " EvalExprEvent{self=u(), output=[1..2), expr= }," + " EvalTemplateEvent{self=u(), output=[1..2)}," + " EvalExprEvent{self=t(x), output=[1..2), expr=<u()>}," + " EvalExprEvent{self=t(x), output=[2..3), expr=]}," + " EvalTemplateEvent{self=t(x), output=[0..3)}]"; string result = events.ToListString(); Assert.AreEqual(expected, result); }