Пример #1
0
        public void Then_the_input_is_outputted(int input)
        {
            var testString = "3,0,4,0,99";
            var memory     = new IntcodeMemory(testString);
            var sut        = new Intcode.Intcode(memory, input);

            sut.ProcessInstructions();

            Assert.That(sut.Output, Is.EqualTo(input));
        }
Пример #2
0
        public void Then_correct_enum_is_returned(string input, OppCode expectedOppCode, Mode expectedMode0, Mode expectedMode1, Mode expectedMode2)
        {
            var memory  = new IntcodeMemory(input);
            var intcode = new Intcode.Intcode(memory);

            var(oppCode, modes) = intcode.GetInstruction();

            Assert.That(oppCode, Is.EqualTo(expectedOppCode));
            Assert.That(modes[0], Is.EqualTo(expectedMode0));
            Assert.That(modes[1], Is.EqualTo(expectedMode1));
            Assert.That(modes[2], Is.EqualTo(expectedMode2));
        }
Пример #3
0
        public void Then_answer()
        {
            var testFilePath = "..//..//..//TestData//day05.txt";

            var initialState = File.ReadLines(testFilePath).First();
            var memory       = new IntcodeMemory(initialState);

            var intcodeComputer = new Intcode.Intcode(memory, 5);

            intcodeComputer.ProcessInstructions();
            var result = intcodeComputer.Output();

            Assert.That(result, Is.EqualTo(4283952));
        }