Exemple #1
0
        protected override IKernel CreateKernel()
        {
            var kernel = new RhinoMocksMockingKernel(GetNinjectSettings());

            kernel.Bind <IManager>().To <ManagerConcrete>();
            return(kernel);
        }
Exemple #2
0
        public async Task SendsCorrectEmailBasedOnWordCount(int wordCount, string expectedEmailBody)
        {
            // ARRANGE
            var fakeTextSource = MockRepository.GenerateMock <ITextSource>();
            var fakeToken      = new CancellationTokenSource().Token;

            var mockingKernel = new RhinoMocksMockingKernel();

            mockingKernel
            .Get <IWordCountingEngine>()
            .Expect(x =>
                    x.CountWordsFromTextSourceAsync(
                        Arg.Is(fakeTextSource),
                        Arg.Is(fakeToken)))
            .Return(Task.FromResult(wordCount))
            .Repeat.Once();

            mockingKernel
            .Get <IEmailClient>()
            .Expect(x =>
                    x.SendEmailAsync(
                        to: Arg <string> .Is.Anything,
                        from: Arg <string> .Is.Anything,
                        body: Arg.Is(expectedEmailBody),
                        token: Arg.Is(fakeToken)))
            .Return(Task.FromResult(true))
            .Repeat.Once();

            var wordCountWorkflow = mockingKernel.Get <WordCountingWorkflow>();

            // ACT
            await wordCountWorkflow.RunWordCountWorkflowAsync(fakeTextSource, fakeToken);

            // ASSERT
            mockingKernel
            .Get <IEmailClient>()
            .VerifyAllExpectations();
        }