public void FastEqualsWorks() { var n1 = null as object; var n2 = null as object; var o1 = new object(); var o2 = new object(); var t1 = new EqualityTester { Id = 1 }; var t2 = new EqualityTester { Id = 1 }; var t3 = new EqualityTester { Id = 3 }; var s = "foo"; Assert.Equal(true, n1.FastEquals(null)); Assert.Equal(true, n1.FastEquals(n1)); Assert.Equal(true, n1.FastEquals(n2)); Assert.Equal(true, o1.FastEquals(o1)); Assert.Equal(true, t1.FastEquals(t1)); Assert.Equal(true, s.FastEquals(s)); Assert.Equal(false, o1.FastEquals(null)); Assert.Equal(false, o1.FastEquals(n1)); Assert.Equal(false, n1.FastEquals(o1)); Assert.Equal(false, s.FastEquals(o1)); Assert.Equal(false, t1.FastEquals(s)); Assert.Equal(null, o1.FastEquals(o2)); Assert.Equal(null, o1.FastEquals(s)); Assert.Equal(null, t1.FastEquals(t2)); Assert.Equal(null, t1.FastEquals(t3)); }