Esempio n. 1
0
        public void RunConditionalPattern_when_entity_is_null_throws_exception()
        {
            var expectedDate = new DateTime(2018, 01, 01);
            var myTestEntity = new MyTestEntity();

            Assert.ThrowsAsync <ArgumentNullException>(async() => {
                await ConditionalPattern <MyTestEntity> .RunConditionalPattern(null,
                                                                               async(testEntity) => await Task.FromResult(testEntity.Created.Equals(expectedDate)),
                                                                               async(testEntity) =>
                {
                    await Task.Delay(1);
                    return(myTestEntity);
                },
                                                                               async(testEntity) =>
                {
                    await Task.Delay(1);
                });
            });
        }
Esempio n. 2
0
        public async Task RunConditionalPattern_with_one_patternConditionalDelegates_calls_run()
        {
            _conditionalExceptionMock = new Mock <IConditionalException <MyTestEntity> >();
            _conditionalExceptionMock.Setup(a => a.Run(It.IsAny <MyTestEntity>())).Returns(Task.FromResult(true)).Verifiable();

            var myTestEntity = new MyTestEntity();
            await ConditionalPattern <MyTestEntity> .RunConditionalPattern(myTestEntity, async (testEntity) =>
            {
                await Task.Delay(1);
                return(testEntity);
            },
                                                                           async (testEntity) =>
            {
                await Task.Delay(1);
            },
                                                                           _conditionalExceptionMock.Object);

            _conditionalExceptionMock.Verify(a => a.Run(It.IsAny <MyTestEntity>()), Times.Exactly(1));
        }
Esempio n. 3
0
        public async Task RunConditionalPattern_when_patternConditionalDelegates_invokes_passDelegate()
        {
            _conditionalExceptionMock = new Mock <IConditionalException <MyTestEntity> >();
            _conditionalExceptionMock.Setup(a => a.Run(It.IsAny <MyTestEntity>())).Returns(Task.FromResult(true));
            var myTestEntity = new MyTestEntity();

            await ConditionalPattern <MyTestEntity> .RunConditionalPattern(myTestEntity,
                                                                           async (testEntity) =>
            {
                await Task.Delay(1);
                Assert.Pass();
                return(testEntity);
            },
                                                                           async (testEntity) =>
            {
                await Task.Delay(1);
                Assert.Fail();
            },
                                                                           _conditionalExceptionMock.Object);
        }
Esempio n. 4
0
        public async Task RunConditionalPattern_when_entity_is_not_null_calls_fail()
        {
            var expectedDate = new DateTime(2018, 01, 01);
            var myTestEntity = new MyTestEntity();

            var failCalled = false;

            await ConditionalPattern <MyTestEntity> .RunConditionalPattern(myTestEntity,
                                                                           async (testEntity) => await Task.FromResult(testEntity.Created.Equals(expectedDate)),
                                                                           async (testEntity) =>
            {
                await Task.Delay(1);
                return(myTestEntity);
            },
                                                                           async (testEntity) =>
            {
                failCalled = true;
                await Task.Delay(1);
            });

            Assert.True(failCalled);
        }
Esempio n. 5
0
        public void RunConditionalPattern_when_patternConditionalDelegates_throws_exception()
        {
            _conditionalExceptionMock = new Mock <IConditionalException <MyTestEntity> >();
            _conditionalExceptionMock.Setup(a => a.Run(It.IsAny <MyTestEntity>())).Throws <InvalidOperationException>();
            var myTestEntity = new MyTestEntity();

            Assert.ThrowsAsync <InvalidOperationException>(async() =>
            {
                await ConditionalPattern <MyTestEntity> .RunConditionalPattern(myTestEntity,
                                                                               async(testEntity) =>
                {
                    await Task.Delay(1);
                    Assert.Fail();
                    return(testEntity);
                },
                                                                               async(testEntity) =>
                {
                    await Task.Delay(1);
                    Assert.Pass();
                },
                                                                               _conditionalExceptionMock.Object);
            });
        }