public bool Equals(
     TestTypeWithEqualsWithTooManyParameters other,
     TestTypeWithEqualsWithTooManyParameters extra)
 {
     EqualsCalled = true;
     return(ReturnValue);
 }
 public bool Equals(
     TestTypeWithEqualsWithTooManyParameters other,
     TestTypeWithEqualsWithTooManyParameters extra)
 {
     EqualsCalled = true;
     return ReturnValue;
 }
        GetTypeEqualityFunction_CustomTypeWithEqualsMethodWithTooManyParameters_IgnoresCustomMethodAndUsesObjectEquals
            ()
        {
            TestTypeWithEqualsWithTooManyParameters testObject = new TestTypeWithEqualsWithTooManyParameters(false);

            Func <object, object, bool> equalityFunction =
                typeof(TestTypeWithEqualsWithTooManyParameters).GetTypeEqualityFunction();

            Assert.IsTrue(
                equalityFunction(testObject, testObject),
                "The function returned by GetTypeEqualityFunction should fall back on object.Equals when custom methods do no accept the correct parameters.");
            Assert.IsFalse(
                testObject.EqualsCalled,
                "The function returned by GetTypeEqualityFunction should fall back on object.Equals when custom methods do no accept the correct parameters.");
        }
            GetTypeEqualityFunction_CustomTypeWithEqualsMethodWithTooManyParameters_IgnoresCustomMethodAndUsesObjectEquals
            ()
        {
            TestTypeWithEqualsWithTooManyParameters testObject = new TestTypeWithEqualsWithTooManyParameters(false);

            Func<object, object, bool> equalityFunction =
                typeof (TestTypeWithEqualsWithTooManyParameters).GetTypeEqualityFunction();
            Assert.IsTrue(
                equalityFunction(testObject, testObject),
                "The function returned by GetTypeEqualityFunction should fall back on object.Equals when custom methods do no accept the correct parameters.");
            Assert.IsFalse(
                testObject.EqualsCalled,
                "The function returned by GetTypeEqualityFunction should fall back on object.Equals when custom methods do no accept the correct parameters.");
        }