Exemplo n.º 1
0
        public void ShouldCorrectlyCalculatePart2Solution()
        {
            List <int>             program       = SharedLibrary.FileParser.GetIntCodeFromFile(@"Inputs\Day07Input.txt");
            FeedbackAmplifierTuner feedbackTuner = new FeedbackAmplifierTuner(program);

            feedbackTuner.Run();

            List <long> expectedTune = new List <long> {
                5, 7, 9, 8, 6
            };
            int expectedOutput = 8271623;

            Assert.Equal(expectedTune, feedbackTuner.OptimalTune);
            Assert.Equal(expectedOutput, feedbackTuner.HighestOutput);
        }
Exemplo n.º 2
0
        public void ShouldCorrectlyProcessExample1()
        {
            List <int> program = new List <int>()
            {
                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
            };
            FeedbackAmplifierTuner feedbackAmplifierTuner = new FeedbackAmplifierTuner(program);

            feedbackAmplifierTuner.Run();

            int         expectedSignal = 139629729;
            List <long> expectedTune   = new List <long>()
            {
                9, 8, 7, 6, 5
            };

            Assert.Equal(expectedSignal, feedbackAmplifierTuner.HighestOutput);
            Assert.Equal(expectedTune, feedbackAmplifierTuner.OptimalTune);
        }
Exemplo n.º 3
0
        public void ShouldCorrectlyProcessExample2()
        {
            List <int> program = new List <int>()
            {
                3, 52, 1001, 52, -5, 52, 3, 53, 1, 52, 56, 54, 1007, 54, 5, 55, 1005, 55, 26, 1001, 54, -5, 54, 1105, 1, 12, 1, 53, 54, 53, 1008, 54, 0, 55, 1001, 55, 1, 55, 2, 53, 55, 53, 4, 53, 1001, 56, -1, 56, 1005, 56, 6, 99, 0, 0, 0, 0, 10
            };
            FeedbackAmplifierTuner feedbackAmplifierTuner = new FeedbackAmplifierTuner(program);

            feedbackAmplifierTuner.Run();

            int         expectedSignal = 18216;
            List <long> expectedTune   = new List <long>()
            {
                9, 7, 8, 5, 6
            };

            Assert.Equal(expectedSignal, feedbackAmplifierTuner.HighestOutput);
            Assert.Equal(expectedTune, feedbackAmplifierTuner.OptimalTune);
        }