public void RunsTheApplicationOnce(int value, string again) { var mockPrimeFactorService = new MockPrimeFactorService().StubGenerateToReturn(new List <int> { value }); var mockInputOutput = new MockInputOutput().StubAskToReturn(value.ToString(), again); var application = BuildApplication(mockInputOutput, mockPrimeFactorService); application.Run(); mockPrimeFactorService.VerifyGenerateCalledWith(value); mockInputOutput.VerifyAskCalledWith(Application.FACTOR_QUESTION); mockInputOutput.VerifyWriteCalledWith(string.Format(Application.PRIME_FACTORS_FORMAT, value)); mockInputOutput.VerifyAskCalledWith(Application.AGAIN_QUESTION); }
private static Application BuildApplication(MockInputOutput mockInputOutput = null, MockPrimeFactorService mockPrimeFactorService = null) { mockPrimeFactorService = mockPrimeFactorService ?? new MockPrimeFactorService(); mockInputOutput = mockInputOutput ?? new MockInputOutput(); return(new Application(mockInputOutput, mockPrimeFactorService)); }