public void ShouldNotThrowWhenNonVoidMethodIsMonitorSynchronizedCorrectly() { //GIVEN var wrappedObjectMock = Substitute.For <IMyService>(); var service = new MonitorSynchronizedMyService(wrappedObjectMock, new object()); //WHEN - THEN service.Should().SynchronizeAccessTo(s => s.CallWithResult("alabama"), Blocking.MonitorOn(service.Lock), wrappedObjectMock); }
public void ShouldNotThrowWhenVoidMethodIsMonitorSynchronizedCorrectly() { //GIVEN var wrappedObjectMock = Substitute.For <MyService>(); var service = new MonitorSynchronizedMyService(wrappedObjectMock, new object()); //WHEN - THEN service.AssertSynchronizes(wrappedObjectMock, s => s.VoidCall(1), Blocking.MonitorOn(service.Lock)); }
public void ShouldSynchronizeCallsToInnerInstanceWithMonitor() { //GIVEN var useCases = Substitute.For <UseCases>(); var proxy = new SynchronizedUseCases(useCases); var sender = Any.Object(); var events = Any.Instance <RoutedEventArgs>(); var path = Any.Instance <ChangedPath>(); proxy.AssertSynchronizes(useCases, cases => cases.CopyFileToClipboard(), Blocking.MonitorOn(proxy._syncRoot)); proxy.AssertSynchronizes(useCases, cases => cases.Initialize(), Blocking.MonitorOn(proxy._syncRoot)); proxy.AssertSynchronizes(useCases, cases => cases.OpenFolder(), Blocking.MonitorOn(proxy._syncRoot)); proxy.AssertSynchronizes(useCases, cases => cases.OnChanged(path), Blocking.MonitorOn(proxy._syncRoot)); }
public void ShouldThrowWhenNonVoidMethodDoesNotExitMonitor() { //GIVEN var wrappedObjectMock = Substitute.For <IMyService>(); var service = new MonitorSynchronizedMyService(wrappedObjectMock, new object()); //WHEN - THEN new Action(() => service.Should().SynchronizeAccessTo(s => s.CallWithResultNotExited("alabama"), Blocking.MonitorOn(service.Lock), wrappedObjectMock)) .Should().ThrowExactly <Exception>(); }
public void ShouldThrowWhenVoidMethodDoesNotExitMonitorOnException() { //GIVEN var wrappedObjectMock = Substitute.For <IMyService>(); var service = new MonitorSynchronizedMyService(wrappedObjectMock, new object()); //WHEN - THEN new Action(() => service.Should().SynchronizeAccessTo(s => s.VoidCallNotExitedOnException(1), Blocking.MonitorOn(service.Lock), wrappedObjectMock)) .Should().ThrowExactly <ReceivedCallsException>(); }
public void ShouldThrowWhenVoidMethodDoesNotExitMonitor() { //GIVEN var wrappedObjectMock = Substitute.For <MyService>(); var service = new MonitorSynchronizedMyService(wrappedObjectMock, new object()); //WHEN - THEN Assert.Catch <Exception>(() => service.AssertSynchronizes(wrappedObjectMock, s => s.VoidCallNotExited(1), Blocking.MonitorOn(service.Lock))); }
public void ShouldThrowWhenNonVoidMethodDoesNotExitMonitorOnException() { //GIVEN var wrappedObjectMock = Substitute.For <MyService>(); var service = new MonitorSynchronizedMyService(wrappedObjectMock, new object()); //WHEN - THEN Assert.Catch <Exception>(() => service.AssertSynchronizes(s => s.CallWithResultNotExitedOnException("alabama"), Blocking.MonitorOn(service.Lock), wrappedObjectMock)); }