public void ShouldNotThrowWhenNonVoidMethodIsWriteSynchronizedCorrectly() { //GIVEN var wrappedObjectMock = Substitute.For <MyService>(); var service = new WriteSynchronizedMyService(wrappedObjectMock, new ReaderWriterLockSlim()); //WHEN - THEN service.AssertSynchronizes(s => s.CallWithResult("alabama"), Blocking.WriteOn(service.Lock), wrappedObjectMock); }
public void ShouldThrowWhenNonVoidMethodDoesNotExitWriteLockOnException() { //GIVEN var wrappedObjectMock = Substitute.For <MyService>(); var service = new WriteSynchronizedMyService(wrappedObjectMock, new ReaderWriterLockSlim()); //WHEN - THEN Assert.Catch <Exception>(() => service.AssertSynchronizes(s => s.CallWithResultNotExitedOnException("alabama"), Blocking.WriteOn(service.Lock), wrappedObjectMock)); }
public void ShouldThrowWhenVoidMethodDoesNotExitWriteLock() { //GIVEN var wrappedObjectMock = Substitute.For <MyService>(); var service = new WriteSynchronizedMyService(wrappedObjectMock, new ReaderWriterLockSlim()); //WHEN - THEN Assert.Catch <Exception>(() => service.AssertSynchronizes(wrappedObjectMock, s => s.VoidCallNotExited(1), Blocking.WriteOn(service.Lock))); }