public void GetNumericInputInclusive_UpperBoundInput_ReturnsInput() { Mock <IOutputWriter> mockOutputWriter = new Mock <IOutputWriter>(); Mock <IInputReader> mockInputReader = new Mock <IInputReader>(); mockInputReader.Setup(m => m.ReadLine()).Returns("2"); UserInputReader cut = new UserInputReader(mockInputReader.Object, mockOutputWriter.Object); int input = cut.GetNumericInputInclusive(2); Assert.AreEqual(2, input); }
public void GetNumericInputInclusive_NegativeAttempt_ReturnsSecondValidInput() { Mock <IOutputWriter> mockOutputWriter = new Mock <IOutputWriter>(); Mock <IInputReader> mockInputReader = new Mock <IInputReader>(); mockInputReader.SetupSequence(m => m.ReadLine()) .Returns("-3") .Returns("2"); UserInputReader cut = new UserInputReader(mockInputReader.Object, mockOutputWriter.Object); int input = cut.GetNumericInputInclusive(2); Assert.AreEqual(2, input); }
static void Main(string[] args) { IOutputWriter outputWriter = new ConsoleWriter(); IInputReader inputReader = new ConsoleReader(); StoryWriter storyWriter = new StoryWriter(outputWriter); UserInputReader userInputReader = new UserInputReader(inputReader, outputWriter); storyWriter.Title(); storyWriter.AllDays(); for (int input = userInputReader.GetNumericInputInclusive(MaxMenuOptions); input != MaxMenuOptions; input = userInputReader.GetNumericInputInclusive(MaxMenuOptions)) { switch (input) { case 1: FuelCounterUpper fuelCounterUpper = new FuelCounterUpper(outputWriter); fuelCounterUpper.Initialize(); break; case 2: IntcodeComputer intcodeComputer = new IntcodeComputer(outputWriter); intcodeComputer.Initialize(); break; case 3: FuelManager fuelManager = new FuelManager(outputWriter); fuelManager.Initialize(); break; case 4: VenusFuelDepot fuelDepot = new VenusFuelDepot(outputWriter); fuelDepot.Initialize(); break; } inputReader.ReadLine(); storyWriter.AllDays(); } }