public void HiddenMethodsAndHidingMethodsShouldHaveTheirBehaviourCorrectlyVerified_WhenBehaviourIsNotAsExpected() { var repo = new HidingDerivedMultipliesByX() { X = 3, Y = 1 }; var proxy = Mimic.Record <IHidingDerivedTriples>(repo); var answer1 = proxy.Function(3); var answer2 = ((IHiddenBaseMultipliesByY)proxy).Function(3); var history = Mimic.GetHistory(proxy); var repoBehavesAsExpected = new HidingDerivedMultipliesByX() { X = 2, Y = 1 }; var verifier = Mimic.GetBehaviourVerifier(history); var result = verifier.ConfirmBehaviourHasNotChanged(repoBehavesAsExpected); Assert.IsFalse(result); var repoBehavesAsExpected2 = new HidingDerivedMultipliesByX() { X = 3, Y = 2 }; var verifier2 = Mimic.GetBehaviourVerifier(history); var result2 = verifier.ConfirmBehaviourHasNotChanged(repoBehavesAsExpected2); Assert.IsFalse(result2); }
public void HiddenMethodsAndHidingMethodsShouldBeCorrectlyDistinguished() { var repo = new HidingDerivedMultipliesByX() { X = 3, Y = 1 }; var proxy = Mimic.Record <IHidingDerivedTriples>(repo); var answer1 = proxy.Function(3); var answer2 = ((IHiddenBaseMultipliesByY)proxy).Function(3); var history = Mimic.GetHistory(proxy); var replayer = Mimic.Stub <IHidingDerivedTriples>(history); Assert.AreEqual(answer1, replayer.Function(3)); Assert.AreEqual(answer2, ((IHiddenBaseMultipliesByY)replayer).Function(3)); }