protected override IKernel CreateKernel() { var kernel = new RhinoMocksMockingKernel(GetNinjectSettings()); kernel.Bind <IManager>().To <ManagerConcrete>(); return(kernel); }
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(); }