public void TestThatNullsAreComparedCorrectly()
        {
            MyTestClass mc1 = new MyTestClass {
                MyInt = 5
            };
            MyTestClass mc2 = new MyTestClass {
                MyInt = 5
            };

            Assert.IsFalse(mc1.CompareIfSame(null));

            mc1 = null;
            Assert.IsFalse(mc1.CompareIfSame(mc2));

            mc2 = null;
            Assert.IsTrue(mc1.CompareIfSame(mc2));
        }
        public void TestThatTwoCustomObjectsAreComparedCorrectly()
        {
            MyTestClass mc1 = new MyTestClass {
                MyInt = 5
            };
            MyTestClass mc2 = new MyTestClass {
                MyInt = 5
            };

            Assert.IsFalse(mc1.CompareIfSame(mc2));

            MyTestClassCompareable mc3 = new MyTestClassCompareable {
                MyInt = 5
            };
            MyTestClassCompareable mc4 = new MyTestClassCompareable {
                MyInt = 5
            };

            Assert.IsTrue(mc3.CompareIfSame(mc4));
        }