public void Test_ShowExpr() { TestNode root = new TestNode(); CreateTestTree(ref root, 2, 2); root.Str = null; TextualizeTree <TestNode, TestNode, int, Context> vis = new TextualizeTree <TestNode, TestNode, int, Context>(); vis.CompilerParams.ReferencedAssemblies.Add(Assembly.GetExecutingAssembly().ManifestModule.ScopeName); vis.ShowExpr.Add(new ExprFormatter("s[d].Node.Value", " {0}: {1:0.###}")); vis.ShowExpr.Add(new ExprFormatter("s[d].Node.Array[2]", " {0}: {1}")); vis.ShowExpr.Add(new ExprFormatter("s[d].Node.Str", " {0}: '{1}'")); vis.ShowExpr.Add(new ExprFormatter("t", " {0}: '{1}'")); vis.ShowExpr.Add(new ExprFormatter("c", " {0}: '{1}'")); vis.Walk(root); // No checks, just see it does not crash. }
public void Test_ShowExprFromString() { TextualizeTree <TestNode, TestNode, int, Context> vis = new TextualizeTree <TestNode, TestNode, int, Context>(); vis.ShowExprFromString(new string[] { "s[d].Node.Value", "s[d].Node.Array[2];", "s[d].Node;n:{1}", "1;1" }); Assert.AreEqual("s[d].Node.Value", vis.ShowExpr[0].Expr); Assert.AreEqual("{0}:{1}", vis.ShowExpr[0].Format); Assert.AreEqual("s[d].Node.Array[2]", vis.ShowExpr[1].Expr); Assert.AreEqual("{0}:{1}", vis.ShowExpr[1].Format); Assert.AreEqual("s[d].Node", vis.ShowExpr[2].Expr); Assert.AreEqual("n:{1}", vis.ShowExpr[2].Format); Assert.AreEqual("1", vis.ShowExpr[3].Expr); Assert.AreEqual("1", vis.ShowExpr[3].Format); }