예제 #1
0
        public void Can_compare_against_badly_typed_properties()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(JObject.Parse("{'foo': 12}"));
            var m = e.Compile();

            m.Invoke(JObject.Parse("{'foo': false}")).Should().BeFalse();
        }
예제 #2
0
        public void Should_compare_integers_as_equal_if_difference_is_decimal_only()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(JToken.Parse("0.0"));
            var m = e.Compile();

            m.Invoke(JToken.Parse("0")).Should().BeTrue();
        }
예제 #3
0
        public void Should_compare_empty_arrays()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(new JArray());
            var m = e.Compile();

            m.Invoke(new JArray()).Should().BeTrue();
        }
예제 #4
0
        public void Can_compare_against_null()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(JObject.Parse("{'foo': 12}"));
            var m = e.Compile();

            m.Invoke(JValue.CreateNull()).Should().BeFalse();
        }
예제 #5
0
        public void Should_compare_strings_as_false()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(new JValue("TEST"));
            var m = e.Compile();

            m.Invoke(new JValue("TEST2")).Should().BeFalse();
        }
예제 #6
0
        public void Should_compare_booleans_as_false()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(new JValue(true));
            var m = e.Compile();

            m.Invoke(new JValue(false)).Should().BeFalse();
        }
예제 #7
0
        public void Should_evaluate_fairly_large_object_as_true()
        {
            var o = JObject.Parse(File.ReadAllText(Path.Combine(Directory.GetParent(typeof(JTokenEqualityExpressionBuilderTests).Assembly.Location).FullName, "efm.json")));
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(o);
            var m = e.Compile();

            m.Invoke(o).Should().BeTrue();
        }
예제 #8
0
        public void Should_evaluate_missing_property_as_false()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(new JObject()
            {
                ["Foo"] = "Bar"
            });
            var m = e.Compile();

            m.Invoke(new JObject()
            {
                ["Asd"] = "Bar"
            }).Should().BeFalse();
        }
예제 #9
0
        public void Should_evaluate_object_with_two_properties_as_true()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(new JObject()
            {
                ["Foo"] = "Bar", ["Joe"] = 123
            });
            var m = e.Compile();

            m.Invoke(new JObject()
            {
                ["Foo"] = "Bar", ["Joe"] = 123
            }).Should().BeTrue();
        }
예제 #10
0
        public void Should_evaluate_simple_object_as_true()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(new JObject()
            {
                ["Foo"] = "Bar"
            });
            var m = e.Compile();

            m.Invoke(new JObject()
            {
                ["Foo"] = "Bar"
            }).Should().BeTrue();
        }
예제 #11
0
        public void Should_compare_arrays_with_unequal_size()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(new JArray()
            {
                true
            });
            var m = e.Compile();

            m.Invoke(new JArray()
            {
                true, true
            }).Should().BeFalse();
        }
예제 #12
0
        public void Should_compare_arrays_with_one_value()
        {
            var b = new JTokenEqualityExpressionBuilder();
            var e = b.Build(new JArray()
            {
                true
            });
            var m = e.Compile();

            m.Invoke(new JArray()
            {
                true
            }).Should().BeTrue();
        }