Example #1
0
        public void SuccessDeepContainsNestedJsonComparison()
        {
            var rule            = "{'x': {'a': 'c'}, 'xy': {'a': 'd', 'b': {'a': 'b'}}}";
            var valueToEvaluate = "{'a': 'b'}";
            var actual          = JsonComparer.DeepContains(valueToEvaluate, rule);

            Assert.True(actual);
        }
Example #2
0
        public void FailDeepContainsComparisonNumber()
        {
            var rule            = "{\"fruit\": \"Apple\",\"size\": 1,\"color\": \"Red\"}";
            var valueToEvaluate = "1";
            var actual          = JsonComparer.DeepContains(valueToEvaluate, rule);

            Assert.False(actual);
        }
Example #3
0
        public void SuccessDeepContainsComparison()
        {
            var rule            = "{\"fruit\": \"Apple\",\"size\": \"Large\",\"color\": \"Red\"}";
            var valueToEvaluate = "{\"fruit\": \"Apple\"}";
            var actual          = JsonComparer.DeepContains(valueToEvaluate, rule);

            Assert.True(actual);
        }
Example #4
0
        private bool ExecuteComparer(Assert assert)
        {
            switch (assert.Rule)
            {
            case ComparerType.REGEX:
                return(RegexComparer.Compare(assert.Actual, assert.Expect));

            case ComparerType.TEXTCONTAINS:
                return(TextComparer.Contains(assert.Actual, assert.Expect));

            case ComparerType.TEXTSTARTSWITH:
                return(TextComparer.StartsWith(assert.Actual, assert.Expect));

            case ComparerType.TEXTENDSWITH:
                return(TextComparer.EndsWith(assert.Actual, assert.Expect));

            case ComparerType.TEXTEQUALS:
                return(TextComparer.Equals(assert.Actual, assert.Expect));

            case ComparerType.ACCEPTALL:
                return(true);

            case ComparerType.JSONCONTAINS:
                return(JsonComparer.DeepContains(assert.Expect, assert.Actual));

            case ComparerType.JSONEQUALITY:
                return(JsonComparer.DeepEqual(assert.Expect, assert.Actual));

            case ComparerType.JSONSCHEMA:
                return(JsonComparer.MatchesSchema(assert.Actual, assert.Expect));

            case ComparerType.JSONPATH:
                return(JsonComparer.PathEqual(assert.Expect, assert.Actual));

            default:
                return(false);
            }
        }