Example #1
0
 public void FailSchemaMatchValidSchemaDoesNotMatch()
 {
     var rule            = @"{
       'name': 'James',
       'hobbies': {}
     }";
     var valueToEvaluate = "{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"hobbies\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}";
     var actual          = JsonComparer.MatchesSchema(rule, valueToEvaluate);
 }
Example #2
0
        public void SuccessSchemaMatchValidSchemaMatches()
        {
            var rule            = @"{
              'name': 'James',
              'hobbies': ['A', 'B', 'C', 'D', 'E']
            }";
            var valueToEvaluate = "{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"hobbies\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}";
            var actual          = JsonComparer.MatchesSchema(rule, valueToEvaluate);

            Assert.True(actual);
        }
Example #3
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);
            }
        }