public void SetupResultWithNestedOrdering()
        {
            ISongBird maleBird = MockRepository.Mock <ISongBird>();

            maleBird.SetUnexpectedBehavior(UnexpectedCallBehaviors.BaseOrDefault);
            ISongBird femaleBird = MockRepository.Mock <ISongBird>();

            femaleBird.SetUnexpectedBehavior(UnexpectedCallBehaviors.BaseOrDefault);

            maleBird.Stub(x => x.Sing())
            .Return("");

            maleBird.Expect(x => x.Eat("seeds", 250));
            femaleBird.Expect(x => x.Eat("seeds", 250));

            maleBird.Expect(x => x.Mate(femaleBird));
            femaleBird.Expect(x => x.Mate(maleBird));

            maleBird.Sing();
            femaleBird.Eat("seeds", 250);
            maleBird.Sing();
            maleBird.Eat("seeds", 250);

            maleBird.Sing();
            femaleBird.Mate(maleBird);
            maleBird.Sing();
            maleBird.Mate(femaleBird);
            maleBird.Sing();

            maleBird.VerifyAllExpectations();
            femaleBird.VerifyAllExpectations();
        }