public void EqualIntArrays() { var expected = new[] { 1, 2, 3 }; var actual = new[] { 1, 2, 3 }; JsonSerializerAssert.Equal(expected, actual); JsonSerializerAssert.Equal(expected, actual, this.serializerSettings); }
public void ArrayOfDummies() { var actual = new[] { new Dummy(1), new Dummy(2), new Dummy(3), }; var roundtrips = new[] { JsonSerializerAssert.Roundtrip(actual), JsonSerializerAssert.Roundtrip(actual, this.serializerSettings), }; foreach (var roundtrip in roundtrips) { Assert.AreNotSame(actual, roundtrip); CollectionAssert.AreEqual(new[] { new Dummy(1), new Dummy(2), new Dummy(3), }, actual, Dtos.Dummy.Comparer); CollectionAssert.AreEqual(new[] { new Dummy(1), new Dummy(2), new Dummy(3), }, roundtrip, Dtos.Dummy.Comparer); } }
public void ArrayOfInts() { var actual = new[] { 1, 2, 3 }; var roundtrips = new[] { JsonSerializerAssert.Roundtrip(actual), JsonSerializerAssert.Roundtrip(actual, this.serializerSettings), }; foreach (var roundtrip in roundtrips) { Assert.AreNotSame(actual, roundtrip); CollectionAssert.AreEqual(new[] { 1, 2, 3 }, actual); CollectionAssert.AreEqual(new[] { 1, 2, 3 }, roundtrip); } }
public void WithDummy() { var actual = new WithDummy { Dummy = new Dummy { Value = 2 } }; var roundtrips = new[] { JsonSerializerAssert.Roundtrip(actual), JsonSerializerAssert.Roundtrip(actual, this.serializerSettings), }; foreach (var roundtrip in roundtrips) { Assert.AreNotSame(actual, roundtrip); Assert.AreEqual(2, actual.Dummy.Value); Assert.AreEqual(2, roundtrip.Dummy.Value); } }
public void WithWrongCtorParameter() { var actual = new WithWrongCtorParameter("meh"); var expectedJson = "{\"Name\":\"meh\"}"; var exceptions = new[] { Assert.Throws<AssertException>(() => JsonSerializerAssert.Equal(expectedJson, actual)), Assert.Throws<AssertException>(() => JsonSerializerAssert.Equal(expectedJson, actual, this.serializerSettings, JsonAssertOptions.Verbatim)) }; var expectedMessage = " Simple roundtrip failed. Source is not equal to roundtripped.\r\n" + " AssertException: Found this difference between expected and actual:\r\n" + " expected.<Name>k__BackingField: meh\r\n" + " actual.<Name>k__BackingField: null"; foreach (var exception in exceptions) { Assert.AreEqual(expectedMessage, exception.Message); } }
public void WithDummy() { var actual = new WithDummy { Dummy = new Dummy { Value = 2 } }; var expectedJson = "{ Dummy: {\"Value\":2}}"; var roundtrips = new[] { JsonSerializerAssert.Equal(expectedJson, actual), JsonSerializerAssert.Equal(expectedJson, actual, JsonAssertOptions.Default), JsonSerializerAssert.Equal(expectedJson, actual, JsonAssertOptions.Verbatim), JsonSerializerAssert.Equal(expectedJson, actual, this.serializerSettings, JsonAssertOptions.Verbatim), }; foreach (var roundtrip in roundtrips) { Assert.AreNotSame(actual, roundtrip); Assert.AreEqual(2, roundtrip.Dummy.Value); } }
public void NotEqualWithDummies() { var expected = new WithDummy { Dummy = new Dummy { Value = 1 } }; var actual = new WithDummy { Dummy = new Dummy { Value = 2 } }; var exceptions = new[] { Assert.Throws<AssertException>(() => JsonSerializerAssert.Equal(expected, actual)), Assert.Throws<AssertException>(() => JsonSerializerAssert.Equal(expected, actual, this.serializerSettings)), }; var expectedMessage = " Json differ at line 1 index 18.\r\n" + " Expected: 1| {\"Dummy\":{\"Value\":1}}\r\n" + " But was: 1| {\"Dummy\":{\"Value\":2}}\r\n" + " -------------------------------^"; foreach (var exception in exceptions) { Assert.AreEqual(expectedMessage, exception.Message); } }
public void NotEqualIntArraysDifferentValues() { var expected = new[] { 1, 2, 3 }; var actual = new[] { 1, 3, 4 }; var exceptions = new[] { Assert.Throws<AssertException>(() => JsonSerializerAssert.Equal(expected, actual)), Assert.Throws<AssertException>(() => JsonSerializerAssert.Equal(expected, actual, this.serializerSettings)), }; var expectedMessage = " Json differ at line 1 index 3.\r\n" + " Expected: 1| [1,2,3]\r\n" + " But was: 1| [1,3,4]\r\n" + " ----------------^"; foreach (var exception in exceptions) { Assert.AreEqual(expectedMessage, exception.Message); } }
public void NotEqualIntArraysDifferentLengths() { var expected = new[] { 1, 2, 3 }; var actual = new[] { 1, 2 }; var exceptions = new[] { Assert.Throws<AssertException>(() => JsonSerializerAssert.Equal(expected, actual)), Assert.Throws<AssertException>(() => JsonSerializerAssert.Equal(expected, actual, this.serializerSettings)), }; var expectedMessage = " Json differ at line 1 index 9.\r\n" + " Expected: 1| [1,2,3]\r\n" + " But was: 1| [1,2]\r\n" + " -----------------^"; foreach (var exception in exceptions) { Assert.Inconclusive("Not sure how we want this formatted."); //Assert.AreEqual(expectedMessage, exception.Message); } }