public void TestNoSuchProp() { ErrorBufferAllErrors errors = new ErrorBufferAllErrors(); string template = "<u.qqq>"; TemplateGroup group = new TemplateGroup(); group.Listener = errors; Template st = new Template(group, template); st.Add("u", new User(1, "parrt")); string expected = ""; string result = st.Render(); Assert.AreEqual(expected, result); TemplateRuntimeMessage msg = (TemplateRuntimeMessage)errors.Errors[0]; TemplateNoSuchPropertyException e = (TemplateNoSuchPropertyException)msg.Cause; Assert.AreEqual("Antlr4.Test.StringTemplate.BaseTest+User.qqq", e.PropertyName); }
public void TestAdaptorAndBadProp() { ErrorBufferAllErrors errors = new ErrorBufferAllErrors(); string templates = "foo(x) ::= \"<x.qqq>\"\n"; writeFile(tmpdir, "foo.stg", templates); TemplateGroup group = new TemplateGroupFile(tmpdir + "/foo.stg"); group.Listener = errors; group.RegisterModelAdaptor(typeof(User), new UserAdaptor()); Template st = group.GetInstanceOf("foo"); st.Add("x", new User(100, "parrt")); string expecting = ""; string result = st.Render(); Assert.AreEqual(expecting, result); TemplateRuntimeMessage msg = (TemplateRuntimeMessage)errors.Errors[0]; TemplateNoSuchPropertyException e = (TemplateNoSuchPropertyException)msg.Cause; Assert.AreEqual("User.qqq", e.PropertyName); }
public void TestPropConvertsToString() { ErrorBufferAllErrors errors = new ErrorBufferAllErrors(); TemplateGroup group = new TemplateGroup(); group.Listener = errors; string template = "<u.(name)>"; Template st = new Template(group, template); st.Add("u", new User(1, "parrt")); st.Add("name", 100); string expected = ""; string result = st.Render(); Assert.AreEqual(expected, result); TemplateRuntimeMessage msg = (TemplateRuntimeMessage)errors.Errors[0]; TemplateNoSuchPropertyException e = (TemplateNoSuchPropertyException)msg.Cause; Assert.AreEqual("Antlr4.Test.StringTemplate.BaseTest+User.100", e.PropertyName); }
public void TestAdaptorAndBadProp() { ErrorBufferAllErrors errors = new ErrorBufferAllErrors(); string templates = "foo(x) ::= \"<x.qqq>\"\n"; writeFile(tmpdir, "foo.stg", templates); TemplateGroup group = new TemplateGroupFile(Path.Combine(tmpdir, "foo.stg")); group.Listener = errors; group.RegisterModelAdaptor(typeof(User), new UserAdaptor()); Template st = group.GetInstanceOf("foo"); st.Add("x", new User(100, "parrt")); string expecting = ""; string result = st.Render(); Assert.AreEqual(expecting, result); TemplateRuntimeMessage msg = (TemplateRuntimeMessage)errors.Errors[0]; TemplateNoSuchPropertyException e = (TemplateNoSuchPropertyException)msg.Cause; Assert.AreEqual("User.qqq", e.PropertyName); }