private ComparisonContext GetContext(Normalizers normalizers) { return(new ComparisonContext( "NuGet.Versioning", "https://example/api/a", "https://example/api/b", "https://example/api/a/index.json", "https://example/api/b/index.json", normalizers)); }
public void AllowsObjectPropertyOrderToBeIgnored() { var normalizers = new Normalizers( scalarNormalizers: new List <ValueNormalizer>(), unsortedObjects: new List <ShouldNormalizeByPath> { (path) => path == "inner", }, unsortedArrays: new List <ArrayNormalizer>()); var a = Json(new { inner = new { a = "a", b = "b" } }); var b = Json(new { inner = new { b = "b", a = "a" } }); Target.Compare(a, b, GetContext(normalizers)); }
public void AllowsArrayItemOrderToBeIgnored() { var normalizers = new Normalizers( scalarNormalizers: new List <ValueNormalizer>(), unsortedObjects: new List <ShouldNormalizeByPath>(), unsortedArrays: new List <ArrayNormalizer> { new ArrayNormalizer( array => array.Path == "array", (x, y) => Comparer <JToken> .Default.Compare(x, y)), }); var a = Json(new { array = new[] { 0, 2, 1 } }); var b = Json(new { array = new[] { 0, 1, 2 } }); Target.Compare(a, b, GetContext(normalizers)); }
public void AllowsValueToBeNormalized() { var normalizers = new Normalizers( scalarNormalizers: new List <ValueNormalizer> { new ValueNormalizer( (path) => path == "random", (token, isLeft, context) => "999"), }, unsortedObjects: new List <ShouldNormalizeByPath>(), unsortedArrays: new List <ArrayNormalizer>()); var a = Json(new { array = new[] { 0, 1, 2 }, random = 23 }); var b = Json(new { array = new[] { 0, 1, 2 }, random = 42 }); Target.Compare(a, b, GetContext(normalizers)); }