public void ShouldNotThrowWhenNonVoidMethodIsReadSynchronizedCorrectly() { //GIVEN var wrappedObjectMock = Substitute.For <IMyService>(); var aLock = new ReaderWriterLockSlim(); var service = new ReadSynchronizedMyService(wrappedObjectMock, aLock); //WHEN - THEN service.Should().SynchronizeAccessTo(s => s.CallWithResult("alabama"), Blocking.ReadOn(aLock), wrappedObjectMock); }
public void ShouldNotThrowWhenVoidMethodIsReadSynchronizedCorrectly() { //GIVEN var wrappedObjectMock = Substitute.For <MyService>(); var aLock = new ReaderWriterLockSlim(); var service = new ReadSynchronizedMyService(wrappedObjectMock, aLock); //WHEN - THEN service.AssertSynchronizes(wrappedObjectMock, s => s.VoidCall(1), Blocking.ReadOn(aLock)); }
public void ShouldThrowWhenVoidMethodDoesNotExitReadLockOnException() { //GIVEN var wrappedObjectMock = Substitute.For <IMyService>(); var service = new ReadSynchronizedMyService(wrappedObjectMock, new ReaderWriterLockSlim()); //WHEN - THEN new Action(() => service.Should().SynchronizeAccessTo(s => s.VoidCallNotExitedOnException(1), Blocking.ReadOn(service.Lock), wrappedObjectMock)) .Should().ThrowExactly <ReceivedCallsException>(); }
public void ShouldThrowWhenNonVoidMethodDoesNotExitReadLock() { //GIVEN var wrappedObjectMock = Substitute.For <IMyService>(); var service = new ReadSynchronizedMyService(wrappedObjectMock, new ReaderWriterLockSlim()); //WHEN - THEN new Action(() => service.Should().SynchronizeAccessTo(s => s.CallWithResultNotExited("alabama"), Blocking.ReadOn(service.Lock), wrappedObjectMock)) .Should().ThrowExactly <XunitException>(); }
public void ShouldThrowWhenNonVoidMethodDoesNotExitReadLockOnException() { //GIVEN var wrappedObjectMock = Substitute.For <MyService>(); var service = new ReadSynchronizedMyService(wrappedObjectMock, new ReaderWriterLockSlim()); //WHEN - THEN Assert.Catch <Exception>(() => service.AssertSynchronizes(s => s.CallWithResultNotExitedOnException("alabama"), Blocking.ReadOn(service.Lock), wrappedObjectMock)); }
public void ShouldThrowWhenVoidMethodDoesNotEnterReadLockAtAll() { //GIVEN var wrappedObjectMock = Substitute.For <MyService>(); var service = new ReadSynchronizedMyService(wrappedObjectMock, new ReaderWriterLockSlim()); //WHEN - THEN Assert.Catch <Exception>(() => service.AssertSynchronizes(wrappedObjectMock, s => s.VoidCallNotEntered(1), Blocking.ReadOn(service.Lock))); }