public void RemoveNode()
        {
            var AST      = BuildAST(@"
var a, b;
a = a;
{ b = b; }
");
            var expected = @"var a, b;

{

}";
            var opt      = new OptAssignEquality();

            AST.root.Visit(opt);
            var pp = new PrettyPrintVisitor();

            AST.root.Visit(pp);
            Assert.AreEqual(expected, pp.Text);
        }
        public void WithoutRemoveConstants()
        {
            var AST      = BuildAST(@"var a;
a = a + 0;
a = a - 0;
a = a * 1;
");
            var expected = @"var a;
a = (a + 0);
a = (a - 0);
a = (a * 1);";

            var opt = new OptAssignEquality();

            AST.root.Visit(opt);
            var pp = new PrettyPrintVisitor();

            AST.root.Visit(pp);
            Assert.AreEqual(expected, pp.Text);
        }