Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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();
            }
        }