public void DisposingObjects_AssertsDisposed() { // Arrange var indServiceDisposable = DisposableTestFactory.Create(() => new Mock <IIndividualService>().Object); var indServiceFactoryMock = new Mock <IIndividualServiceFactory>(); indServiceFactoryMock.Setup(f => f.Create()).Returns(indServiceDisposable.TestObject); var orgService = new OrganisationService(indServiceFactoryMock.Object); // Act orgService.DoStuffWithDisposing(); // Assert Assert.DoesNotThrow(() => indServiceDisposable.AssertDisposed()); }
public void UsingObject_AlreadyBeingDisposed_FailsAssertion() { // Arrange var indServiceDisposable = DisposableTestFactory.Create(() => new Mock <IIndividualService>().Object); var indServiceFactoryMock = new Mock <IIndividualServiceFactory>(); indServiceFactoryMock.Setup(f => f.Create()).Returns(indServiceDisposable.TestObject); var orgService = new OrganisationService(indServiceFactoryMock.Object); // Act orgService.DoStuffAfterDisposed(); // Assert var actualException = Assert.Throws <AssertionException>(() => indServiceDisposable.AssertDisposed()); Assert.AreEqual(AssertionErrorMessages.MemberCalledAfterDisposedErrorMessage, actualException.Message); }