Esempio n. 1
0
        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));
        }
Esempio n. 3
0
        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>();
        }
Esempio n. 4
0
        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)));
        }