public void ContainsExpress_ReturnsTrueIfContainsExpression()
 {
     ExpressionTree tree = new ExpressionTree();
     var expr = new MockExpression(1);
     tree.AddExpression(expr);
     Assert.True(tree.ContainsExpression(expr));
 }
        public void AddExpression_AddsExpression()
        {
            ExpressionTree tree = new ExpressionTree();
            MockExpression expr = new MockExpression(1);
            tree.AddExpression(expr);

            Assert.NotEmpty(tree.rootNode.Children);
            Assert.NotNull(tree.rootNode.Children.FirstOrDefault());
            Assert.Equal(expr, tree.rootNode.Children.Select(c => c as ExpressionNode).FirstOrDefault(c => c != null).Expression);
        }
 public void Ctor_InitializesRootNode()
 {
     ExpressionTree tree = new ExpressionTree();
     Assert.NotNull(tree.rootNode);
 }
 public void ContainsExpression_ThrowsArgumentNullException()
 {
     ExpressionTree tree = new ExpressionTree();
     Assert.Throws<ArgumentNullException>(() => tree.ContainsExpression(null));
 }
 public void ContainsExpression_ReturnsFalseIfDoesntContainExpression()
 {
     ExpressionTree tree = new ExpressionTree();
     Assert.False(tree.ContainsExpression(new MockExpression(1)));
 }