Example #1
0
        public void Day2(int nounStart, int nounEnd, int verbStart, int verbEnd, int expectedOutput)
        {
            int[] intcodeProgram = File.ReadAllText("day2.txt")
                                   .Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
                                   .Select(number => int.Parse(number, CultureInfo.InvariantCulture))
                                   .ToArray();

            for (int noun = nounStart; noun <= nounEnd; noun++)
            {
                for (int verb = verbStart; verb <= verbEnd; verb++)
                {
                    intcodeProgram[1] = noun;
                    intcodeProgram[2] = verb;

                    IntcodeProgram program = new IntcodeProgram(
                        intcodeProgram,
                        new DefaultInstructionFactory(),
                        new ImplicitOpcodeParser());

                    List <int> programOutput = program.Run();

                    if (programOutput[0] == expectedOutput)
                    {
                        _output.WriteLine($"noun: {noun}, verb: {verb}");
                        return;
                    }
                }
            }

            Assert.True(false, "Result not found.");
        }
Example #2
0
        public void ProcessTests(string intcodeProgram, int position, int expectedValue)
        {
            IntcodeProgram program = new IntcodeProgram(
                intcodeProgram,
                new DefaultInstructionFactory(),
                new ImplicitOpcodeParser());

            List <int> output = program.Run();

            Assert.Equal(expectedValue, output[position]);
        }