public void Part2()
        {
            int[] sequence = new int[] { 9, 8, 7, 6, 5 };
            int[] input    = { 3, 26, 1001, 26, -4, 26, 3, 27, 1002, 27, 2, 27, 1, 27, 26, 27, 4, 27, 1001, 28, -1, 28, 1005, 28, 6, 99, 0, 0, 5 };

            var ampController = new AmplifierController(input);
            var solver        = new MaxThrustSolver(ampController);

            int signal = ampController.GetThrusterSignal(sequence);

            Assert.Equal(139629729, signal);
        }
        public void SolvePart2()
        {
            int[] sequence = new int[] { 9, 8, 7, 6, 5 };
            int[] input    = System.IO.File.ReadAllText("../../../input/day_07.txt")
                             .Split(',')
                             .Select(x => int.Parse(x))
                             .ToArray();

            var ampController = new AmplifierController(input);
            var solver        = new MaxThrustSolver(ampController);

            int maxThrust = solver.FindMaxThrust(input, sequence);

            Assert.Equal(70602018, maxThrust);
        }