public void ExampleUsingCallbacks() { MockRepository mocks = new MockRepository(); ISongBird maleBird = (ISongBird)mocks.StrictMock(typeof(ISongBird)), femaleBird = (ISongBird)mocks.StrictMock(typeof(ISongBird)); using (mocks.Ordered()) { using (mocks.Unordered()) { maleBird.MoveToCage(null); LastCall.On(maleBird).Callback(new CageDelegate(IsSameCage)); femaleBird.MoveToCage(null); LastCall.On(femaleBird).Callback(new CageDelegate(IsSameCage)); } maleBird.Eat("seeds", 250); femaleBird.Eat("seeds", 250); using (mocks.Unordered()) { maleBird.Mate(femaleBird); femaleBird.Mate(maleBird); } } mocks.ReplayAll(); BirdVeterinary vet = new BirdVeterinary(); vet.Mate(maleBird, femaleBird); mocks.VerifyAll(); }
public void Mate(ISongBird male, ISongBird female) { female.MoveToCage(cage); male.MoveToCage(cage); male.Eat("seeds", 250); female.Eat("seeds", 250); male.Mate(female); female.Mate(male); }