public void TestVisit() { // test without aggregation nodes ExprNodeIdentifierVisitor visitor = new ExprNodeIdentifierVisitor(false); exprNode.Accept(visitor); Assert.AreEqual(2, visitor.ExprProperties.Count); Assert.AreEqual(0, (Object)visitor.ExprProperties[0].First); Assert.AreEqual("IntBoxed", (Object)visitor.ExprProperties[0].Second); Assert.AreEqual(0, (Object)visitor.ExprProperties[1].First); Assert.AreEqual("IntPrimitive", (Object)visitor.ExprProperties[1].Second); // test with aggregation nodes, such as "IntBoxed * sum(IntPrimitive)" exprNode = SupportExprNodeFactory.MakeSumAndFactorNode(); visitor = new ExprNodeIdentifierVisitor(true); exprNode.Accept(visitor); Assert.AreEqual(2, visitor.ExprProperties.Count); Assert.AreEqual("IntBoxed", (Object)visitor.ExprProperties[0].Second); Assert.AreEqual("IntPrimitive", (Object)visitor.ExprProperties[1].Second); visitor = new ExprNodeIdentifierVisitor(false); exprNode.Accept(visitor); Assert.AreEqual(1, visitor.ExprProperties.Count); Assert.AreEqual("IntBoxed", (Object)visitor.ExprProperties[0].Second); }