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); }
public void AsksAgainQuestionIfInvalid(string again) { var mockInputOutput = new MockInputOutput().StubAskToReturn("2", again, "N"); var application = BuildApplication(mockInputOutput); application.Run(); mockInputOutput.VerifyAskCalledWith(Application.AGAIN_QUESTION, 2); }
public void ExitIfFactorQuestionIfInvalid() { var mockInputOutput = new MockInputOutput().StubAskToReturn(""); var application = BuildApplication(mockInputOutput); application.Run(); mockInputOutput.VerifyAskCalledWith(Application.FACTOR_QUESTION); mockInputOutput.VerifyWriteCalledWith(Application.FACTOR_VALIDATION, 0); }