public void service_on_dispose_remove_itself_from_iSite_container() { var svc = new ChangeTrackingService(); var iContainer = MockRepository.GenerateMock<IContainer>(); iContainer.Expect( obj => obj.Remove( svc ) ).Repeat.Once(); var iSite = MockRepository.GenerateStub<ISite>(); iSite.Expect( obj => obj.Container ).Return( iContainer ).Repeat.Any(); svc.Site = iSite; svc.Dispose(); iContainer.VerifyAllExpectations(); }