예제 #1
0
        public void Should_evaluate_true_for_true()
        {
            var inputNode = new TrueNode();
            var evaluator = new BooleanEvaluator();
            var result    = evaluator.Eval(inputNode);

            result.ShouldBeOfType <TrueNode>();
        }
예제 #2
0
        public void Should_evaluate_false_for_nil()
        {
            var inputNode = new NilNode();
            var evaluator = new BooleanEvaluator();
            var result    = evaluator.Eval(inputNode);

            result.ShouldBeOfType <FalseNode>();
        }
예제 #3
0
        public void Should_evaluate_false_for_invalid_number_node()
        {
            var inputNode = new NumberNode("abc");
            var evaluator = new BooleanEvaluator();
            var result    = evaluator.Eval(inputNode);

            result.ShouldBeOfType <FalseNode>();
        }
예제 #4
0
        public void Should_evaluate_false_for_null_string_node()
        {
            var inputNode = new StringNode(null);
            var evaluator = new BooleanEvaluator();
            var result    = evaluator.Eval(inputNode);

            result.ShouldBeOfType <FalseNode>();
        }
예제 #5
0
        public void Should_evaluate_true_for_non_empty_string_node()
        {
            var inputNode = new StringNode("abc");
            var evaluator = new BooleanEvaluator();
            var result    = evaluator.Eval(inputNode);

            result.ShouldBeOfType <TrueNode>();
        }
예제 #6
0
        public void Should_evaluate_true_for_a_non_zero_number_node()
        {
            var inputNode = new NumberNode("1");
            var evaluator = new BooleanEvaluator();
            var result    = evaluator.Eval(inputNode);

            result.ShouldBeOfType <TrueNode>();
        }