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); }
public void FailDeepContainsComparisonNumber() { var rule = "{\"fruit\": \"Apple\",\"size\": 1,\"color\": \"Red\"}"; var valueToEvaluate = "1"; var actual = JsonComparer.DeepContains(valueToEvaluate, rule); Assert.False(actual); }
public void SuccessDeepContainsComparison() { var rule = "{\"fruit\": \"Apple\",\"size\": \"Large\",\"color\": \"Red\"}"; var valueToEvaluate = "{\"fruit\": \"Apple\"}"; var actual = JsonComparer.DeepContains(valueToEvaluate, rule); Assert.True(actual); }
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); } }