public void AOC_2020_Day08b()
        {
            var input = File.ReadAllText(".//Content2//2020/Day08.txt");

            var parsedInstructions = AOC_2020_Day08_Answer.ParseInstructions(input);
            var answer             = AOC_2020_Day08_Answer.ExecuteWithAdjustments(parsedInstructions);

            answer.Should().Be(509);
        }
        public void AOC_2020_Day08a()
        {
            var input = File.ReadAllText(".//Content2//2020/Day08.txt");

            var parsedInstructions = AOC_2020_Day08_Answer.ParseInstructions(input);
            var answer             = AOC_2020_Day08_Answer.ExecuteToInfiniteLoop(parsedInstructions);

            answer.Should().Be(1501);
        }
        public void find_fix_instruction()
        {
            var input = @"nop +0
acc +1
jmp +4
acc +3
jmp -3
acc -99
acc +1
jmp -4
acc +6";

            var parsedInstructions = AOC_2020_Day08_Answer.ParseInstructions(input);
            var answer             = AOC_2020_Day08_Answer.ExecuteWithAdjustments(parsedInstructions);

            answer.Should().Be(8);
        }
        public void find_first_repeated_instruction()
        {
            var input = @"nop +0
acc +1
jmp +4
acc +3
jmp -3
acc -99
acc +1
jmp -4
acc +6";

            var parsedInstructions = AOC_2020_Day08_Answer.ParseInstructions(input);
            var answer             = AOC_2020_Day08_Answer.ExecuteToInfiniteLoop(parsedInstructions);

            answer.Should().Be(5);
        }
        public void parse_instructions()
        {
            var input = @"nop +0
acc +1
jmp +4
acc +3
jmp -3
acc -99
acc +1
jmp -4
acc +6";

            var answer = AOC_2020_Day08_Answer.ParseInstructions(input);

            answer.Should().BeEquivalentTo(
                new Instruction
            {
                Command   = "nop",
                Parameter = "+0"
            },
                new Instruction
            {
                Command   = "acc",
                Parameter = "+1"
            },
                new Instruction
            {
                Command   = "jmp",
                Parameter = "+4"
            },
                new Instruction
            {
                Command   = "acc",
                Parameter = "+3"
            },
                new Instruction
            {
                Command   = "jmp",
                Parameter = "-3"
            },
                new Instruction
            {
                Command   = "acc",
                Parameter = "-99"
            },
                new Instruction
            {
                Command   = "acc",
                Parameter = "+1"
            },
                new Instruction
            {
                Command   = "jmp",
                Parameter = "-4"
            },
                new Instruction
            {
                Command   = "acc",
                Parameter = "+6"
            }
                );
        }