예제 #1
0
        public void OutOfOrderExecutionShouldSucceed()
        {
            var i = new PublishInvocation <MessageA> {
                Messages = new[] { new MessageA() }
            };
            var j = new SendInvocation <MessageB> {
                Messages = new[] { new MessageB() }
            };
            var k = new SendLocalInvocation <MessageA> {
                Messages = new[] { new MessageA() }
            };
            var l = new HandleCurrentMessageLaterInvocation <object>();

            var exp1 = new ExpectedSendLocalInvocation <MessageA> {
                Check = m => true
            };
            var exp2 = new ExpectedSendInvocation <MessageB> {
                Check = m => true
            };
            var exp3 = new ExpectedPublishInvocation <MessageA> {
                Check = m => true
            };
            var exp4 = new ExpectedHandleCurrentMessageLaterInvocation <object>();

            exp1.Validate(i, j, k, l);
            exp2.Validate(i, j, k, l);
            exp3.Validate(i, j, k, l);
            exp4.Validate(i, j, k, l);
        }
        public void PublishValueNegativeCheck()
        {
            var i = new PublishInvocation<MessageA> {Message = new MessageA {Value = 2}};
            var exp = new ExpectedPublishInvocation<MessageA> {Check = m => m.Value == 3};

            Assert.Throws<Exception>(() => exp.Validate(i));
        }
        public void NotPublishBasicNegative()
        {
            var i = new PublishInvocation<MessageA> {Message = new MessageA()};
            var exp = new ExpectedNotPublishInvocation<MessageA> {Check = m => true};

            Assert.Throws<Exception>(() => exp.Validate(i));
        }
예제 #4
0
        public void PublishValueNegativeCheck()
        {
            var i = new PublishInvocation<MessageA> {Messages = new[] {new MessageA {Value = 2}}};
            var exp = new ExpectedPublishInvocation<MessageA> {Check = m => m.Value == 3};

            exp.Validate(i);
        }
        public void PublishValuePositive()
        {
            var i = new PublishInvocation<MessageA> {Message = new MessageA {Value = 2}};
            var exp = new ExpectedPublishInvocation<MessageA> {Check = m => m.Value == 2};

            exp.Validate(i);
        }
예제 #6
0
        public void PublishBasicPositive()
        {
            var i = new PublishInvocation<MessageA> {Messages = new[] {new MessageA()}};
            var exp = new ExpectedPublishInvocation<MessageA> {Check = m => true};

            exp.Validate(i);
        }
예제 #7
0
        public void PublishBasicNegativeCheck()
        {
            var i = new PublishInvocation<MessageA> {Messages = new[] {new MessageA()}};
            var exp = new ExpectedPublishInvocation<MessageA> {Check = m => false};

            exp.Validate(i);
        }
예제 #8
0
        public void NotPublishBasicNegative()
        {
            var i = new PublishInvocation<MessageA> {Message = new MessageA()};
            var exp = new ExpectedNotPublishInvocation<MessageA> {Check = m => true};

            exp.Validate(i);
        }
예제 #9
0
        public void PublishValueMultiplePositive()
        {
            var i = new PublishInvocation<MessageA> {Messages = new[] {new MessageA {Value = 3}}};
            var j = new PublishInvocation<MessageA> {Messages = new[] {new MessageA {Value = 2}}};
            var exp = new ExpectedPublishInvocation<MessageA> {Check = m => m.Value == 2};

            exp.Validate(i, j);
        }
예제 #10
0
        public void PublishBasicMultiplePositive()
        {
            var i = new PublishInvocation<MessageA> {Message = new MessageA()};
            var j = new PublishInvocation<MessageA> {Message = new MessageA()};
            var exp = new ExpectedPublishInvocation<MessageA> {Check = m => true};

            exp.Validate(i, j);
        }
예제 #11
0
        public void PublishBasicNegativeCheck()
        {
            var i = new PublishInvocation <MessageA> {
                Messages = new[] { new MessageA() }
            };
            var exp = new ExpectedPublishInvocation <MessageA> {
                Check = m => false
            };

            exp.Validate(i);
        }
예제 #12
0
        public void SendPublishMismatchTwo()
        {
            var i = new PublishInvocation <MessageA> {
                Messages = new[] { new MessageA() }
            };
            var exp = new ExpectedSendInvocation <MessageA> {
                Check = m => true
            };

            exp.Validate(i);
        }
예제 #13
0
        public void PublishBasicNegativeType()
        {
            var i = new PublishInvocation <MessageA> {
                Message = new MessageA()
            };
            var exp = new ExpectedPublishInvocation <MessageB> {
                Check = m => true
            };

            exp.Validate(i);
        }
예제 #14
0
        public void PublishBasicPositive()
        {
            var i = new PublishInvocation <MessageA> {
                Messages = new[] { new MessageA() }
            };
            var exp = new ExpectedPublishInvocation <MessageA> {
                Check = m => true
            };

            exp.Validate(i);
        }
예제 #15
0
        public void PublishValueNegativeCheck()
        {
            var i = new PublishInvocation <MessageA> {
                Messages = new[] { new MessageA {
                                       Value = 2
                                   } }
            };
            var exp = new ExpectedPublishInvocation <MessageA> {
                Check = m => m.Value == 3
            };

            exp.Validate(i);
        }
예제 #16
0
        public void PublishValuePositive()
        {
            var i = new PublishInvocation <MessageA> {
                Message = new MessageA {
                    Value = 2
                }
            };
            var exp = new ExpectedPublishInvocation <MessageA> {
                Check = m => m.Value == 2
            };

            exp.Validate(i);
        }
예제 #17
0
        public void PublishBasicMultiplePositive()
        {
            var i = new PublishInvocation <MessageA> {
                Message = new MessageA()
            };
            var j = new PublishInvocation <MessageA> {
                Message = new MessageA()
            };
            var exp = new ExpectedPublishInvocation <MessageA> {
                Check = m => true
            };

            exp.Validate(i, j);
        }
예제 #18
0
        public void OutOfOrderExecutionShouldSucceed()
        {
            var i = new PublishInvocation<MessageA> {Message = new MessageA()};
            var j = new SendInvocation<MessageB> {Message = new MessageB()};
            var k = new SendLocalInvocation<MessageA> {Message = new MessageA()};
            var l = new HandleCurrentMessageLaterInvocation<object>();

            var exp1 = new ExpectedSendLocalInvocation<MessageA> {Check = m => true};
            var exp2 = new ExpectedSendInvocation<MessageB> {Check = m => true};
            var exp3 = new ExpectedPublishInvocation<MessageA> {Check = m => true};
            var exp4 = new ExpectedHandleCurrentMessageLaterInvocation<object>();

            exp1.Validate(i, j, k, l);
            exp2.Validate(i, j, k, l);
            exp3.Validate(i, j, k, l);
            exp4.Validate(i, j, k, l);
        }
예제 #19
0
        public void PublishValueMuliplePositive()
        {
            var i = new PublishInvocation <MessageA> {
                Messages = new[] { new MessageA {
                                       Value = 3
                                   } }
            };
            var j = new PublishInvocation <MessageA> {
                Messages = new[] { new MessageA {
                                       Value = 2
                                   } }
            };
            var exp = new ExpectedPublishInvocation <MessageA> {
                Check = m => m.Value == 2
            };

            exp.Validate(i, j);
        }
예제 #20
0
        public void SendPublishMismatchTwo()
        {
            var i = new PublishInvocation<MessageA> {Message = new MessageA()};
            var exp = new ExpectedSendInvocation<MessageA> {Check = m => true};

            Assert.Throws<Exception>(() => exp.Validate(i));
        }
예제 #21
0
        public void SendPublishMismatchTwo()
        {
            var i = new PublishInvocation<MessageA> {Message = new MessageA()};
            var exp = new ExpectedSendInvocation<MessageA> {Check = m => true};

            exp.Validate(i);
        }
예제 #22
0
        public void RunAllInvocations()
        {
            var invocationCount = 0;

            var i = new PublishInvocation<MessageA> { Message = new MessageA() };
            var j = new PublishInvocation<MessageA> { Message = new MessageA() };
            var exp = new ExpectedPublishInvocation<MessageA> { Check = m => { invocationCount++;  return true; } };

            exp.Validate(i, j);

            Assert.That(() => invocationCount, Is.EqualTo(2));
        }