public void TestObjectsEqual() { Assert.IsFalse(DiffUtil.ObjectsEqual( null, new MockType { Some = 108, Thing = "Hello_Z" } ), "first is null"); Assert.IsFalse(DiffUtil.ObjectsEqual( new MockType { Some = 108, Thing = "Hello_Z" }, null ), "second is null"); Assert.IsTrue(DiffUtil.ObjectsEqual( null, null ), "both null"); Assert.IsFalse(DiffUtil.ObjectsEqual( new MockType { Some = 108, Thing = "Hello_Z" }, new MockType { Some = 108, Thing = "Hello_Z" } ), "same value, but not same ref"); var obj = new MockType { Some = 108, Thing = "Hello_Z" }; Assert.IsTrue(DiffUtil.ObjectsEqual( obj, obj ), "same value and same ref"); Assert.IsTrue(DiffUtil.ObjectsEqual( new { Some = 108, Thing = "Hello_Z" }, new { Some = 108, Thing = "Hello_Z" } ), "same value and (anonymous obj that doesnt use ref)"); }
public void TestListsEqualObj() { var x = new MockType { Some = 108, Thing = "Hello_X" }; var y = new MockType { Some = 108, Thing = "Hello_Y" }; var z = new MockType { Some = 108, Thing = "Hello_Z" }; var z2 = new MockType { Some = 108, Thing = "Hello_Z" }; var a = new MockType { Some = 108, Thing = "Hello_A" }; Assert.IsTrue(DiffUtil.ListsEqual( (List <object>)null, null ), "equal (null)"); Assert.IsTrue(DiffUtil.ListsEqual( new List <object> { x, y, z }, new List <object> { x, y, z } ), "equal (values)"); Assert.IsFalse(DiffUtil.ListsEqual( null, new List <object> { x, y, z } ), "not equal (first null)"); Assert.IsFalse(DiffUtil.ListsEqual( new List <object> { x, y, z }, null ), "not equal (second null)"); Assert.IsFalse(DiffUtil.ListsEqual( new List <object> { x, y, z }, new List <object> { x, y, a } ), "not equal (values)"); Assert.IsFalse(DiffUtil.ListsEqual( new List <object> { x, y, z }, new List <object> { x, z, y } ), "not equal (order)"); Assert.IsFalse(DiffUtil.ListsEqual( new List <object> { x, y, z }, new List <object> { x, y, z2 } ), "not equal (same value, but not same reference)"); }