public void ProcessTest_Example04()
        {
            // Arrange
            var input = new int[] { 2, 4, 4, 5, 99, 0 };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            var expected = new int[] { 2, 4, 4, 5, 99, 9801 };

            AreEqual(expected, result.Codes);
        }
        public void ProcessTest_Example05()
        {
            // Arrange
            var input = new int[] { 1, 1, 1, 4, 99, 5, 6, 0, 99 };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            var expected = new int[] { 30, 1, 1, 4, 2, 5, 6, 0, 99 };

            AreEqual(expected, result.Codes);
        }
Ejemplo n.º 3
0
        public void ExampleDay5Part1_Test01()
        {
            // Arrange
            var input = new int[]
            {
                1002, 4, 3, 4, 33,
            };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            Assert.AreEqual(1002, result.Code(0), "position 0 is unexpected");
            Assert.AreEqual(4, result.Code(1), "position 1 is unexpected");
            Assert.AreEqual(3, result.Code(2), "position 2 is unexpected");
            Assert.AreEqual(4, result.Code(3), "position 3 is unexpected");
            Assert.AreEqual(99, result.Code(4), "position 4 is unexpected");
        }
Ejemplo n.º 4
0
        public void Output_Test01()
        {
            // Arrange
            var input = new int[]
            {
                4, 0,
                99
            };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            Assert.AreEqual(3, result.Codes.Keys.Count, "unexpected number of elements");
            Assert.AreEqual(4, result.Code(0), "position 0 is unexpected");
            Assert.AreEqual(@"4
HALT
", result.Output.ToString());
        }
Ejemplo n.º 5
0
        public void Equal_NotEqual_Reset_Test03()
        {// Arrange
            var input = new int[]
            {
                1008, 4, 77, 2,
                99
            };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            Assert.AreEqual(5, result.Codes.Keys.Count, "unexpected number of elements");
            Assert.AreEqual(1008, result.Code(0));
            Assert.AreEqual(4, result.Code(1));
            Assert.AreEqual(0, result.Code(2));
            Assert.AreEqual(2, result.Code(3));
            Assert.AreEqual(99, result.Code(4));
        }
Ejemplo n.º 6
0
        public void JumpIfFalse_NoJump_Test01()
        {
            // Arrange
            var input = new int[]
            {
                1106, 1, 200,
                104, 4,
                99
            };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            Assert.AreEqual(6, result.Codes.Keys.Count, "unexpected number of elements");
            Assert.AreEqual(@"4
HALT
", result.Output.ToString());
        }
        public void ProcessTest()
        {
            // Arrange
            var input = new int[]
            {
                1, 2, 6, 2,
                99,
                1, 2, 3, 4
            };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            Assert.AreEqual(1, result.Code(0), "position 0 is unexpected");
            Assert.AreEqual(2, result.Code(1), "position 1 is unexpected");
            Assert.AreEqual(8, result.Code(2), "position 2 is unexpected");
            Assert.AreEqual(2, result.Code(3), "position 3 is unexpected");
        }
Ejemplo n.º 8
0
        public void LessThan_Reset_Test01()
        {
            // Arrange
            var input = new int[]
            {
                1107, 3, 2, 2,
                99
            };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            Assert.AreEqual(5, result.Codes.Keys.Count, "unexpected number of elements");
            Assert.AreEqual(1107, result.Code(0));
            Assert.AreEqual(3, result.Code(1));
            Assert.AreEqual(0, result.Code(2));
            Assert.AreEqual(2, result.Code(3));
            Assert.AreEqual(99, result.Code(4));
        }
Ejemplo n.º 9
0
        public void JumpIfFalse_Jump_Test01()
        {
            // Arrange
            var input = new int[]
            {
                1106, 0, 5,
                4, 0,
                4, 7,
                99
            };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            Assert.AreEqual(8, result.Codes.Keys.Count, "unexpected number of elements");
            result.Output.ShouldBe(new List <int> {
                99
            });
        }
Ejemplo n.º 10
0
        public void Output_Test02()
        {
            // Arrange
            var input = new int[]
            {
                104, 0,
                99
            };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            Assert.AreEqual(3, result.Codes.Keys.Count, "unexpected number of elements");
            Assert.AreEqual(104, result.Code(0), "position 0 is unexpected");
            Assert.AreEqual(0, result.Code(1), "position 1 is unexpected");
            result.Output.ShouldBe(new List <int> {
                0
            });
        }
Ejemplo n.º 11
0
        public void Equal_Set_Test02()
        {
            // Arrange
            var input = new int[]
            {
                0108, 300, 1, 5,
                99,
            };

            // Act
            var result = GravityAssistPart2.Process(input);

            // Arrange
            Assert.AreEqual(6, result.Codes.Keys.Count, "unexpected number of elements");
            Assert.AreEqual(0108, result.Code(0));
            Assert.AreEqual(300, result.Code(1));
            Assert.AreEqual(1, result.Code(2));
            Assert.AreEqual(5, result.Code(3));
            Assert.AreEqual(99, result.Code(4));
            Assert.AreEqual(1, result.Code(5));
        }