public virtual StringTemplate getSubTemplate() { StringTemplate s = new StringTemplate("sub ST"); s.setName("a template created in R1"); s.setAttribute("fruit", "Apple"); s.setAttribute("nestedAggr", new R2()); return s; }
public virtual void testReflectionRecursive() { StringTemplate.setLintMode(true); StringTemplate a = new StringTemplate("$attributes$"); StringTemplateErrorListener errors = new ErrorBuffer(); a.setErrorListener(errors); a.setAttribute("name", "Terence"); a.setAttribute("name", "Tom"); StringTemplate b = new StringTemplate("embedded template text"); b.setName("EmbeddedTemplate"); b.setAttribute("x", 1); b.setAttribute("y", "foo"); a.setAttribute("name", b); a.setAttribute("name", new R1()); a.setAttribute("duh", "foo"); String results = a.ToString(); //System.out.println(results); String expecting = "Template anonymous:" + newline + " 1. Attribute duh values:" + newline + " 1. String" + newline + " 2. Attribute name values:" + newline + " 1. String" + newline + " 2. String" + newline + " 3. Template EmbeddedTemplate:" + newline + " 1. Attribute x values:" + newline + " 1. Int32" + newline + " 2. Attribute y values:" + newline + " 1. String" + newline + " 1. Property subAggregate : TestStringTemplate+R2" + newline + " 1. Property email : String" + newline + " 2. Property subTemplate : StringTemplate" + newline + " 2. Template a template created in R1:" + newline + " 1. Attribute nestedAggr values:" + newline + " 2. Attribute fruit values:" + newline + " 1. String" + newline + " 3. Property lastName : String" + newline + " 4. Property firstName : String" + newline; StringTemplate.setLintMode(false); Assert.AreEqual(results, expecting); }