public override async Task TestPart1() { TestInputOutput.Add(new InputOutput() { InputValue = "21", PuzzleString = "109,1,204,-1,1001,100,1,100,1008,100,16,101,1006,101,0,99", OutputValue = "21" }); TestInputOutput.Add(new InputOutput() { InputValue = "33", PuzzleString = "109,1,204,-1,1001,100,1,100,1008,100,16,101,1006,101,0,99", OutputValue = "33" }); TestInputOutput.Add(new InputOutput() { InputValue = "4", PuzzleString = "1102,34915192,34915192,7,4,7,99,0", OutputValue = "0" }); TestInputOutput.Add(new InputOutput() { InputValue = "4", PuzzleString = "104,1125899906842624,99", OutputValue = "1125899906842624" }); foreach (var tito in TestInputOutput) { var puzzleinput = tito.PuzzleString.Split(',').Select(x => Convert.ToInt64(x)).ToList(); var intComputer = new Service.IntCodeComputer(puzzleinput, Convert.ToInt32(tito.InputValue)); intComputer.Start(); if (tito.OutputValue == intComputer.LocalComputerMemory.ProgramValue.ToString()) { Debug.WriteLine($"INPUT:{tito.InputValue} - {tito.PuzzleString} - OUTPUT:{tito.OutputValue} = OK"); } else { Debug.WriteLine($"INPUT:{tito.InputValue} - {tito.PuzzleString} - OUTPUT:{tito.OutputValue} = NOK"); puzzleinput = tito.PuzzleString.Split(',').Select(x => Convert.ToInt64(x)).ToList(); var intComputer2 = new Service.IntCodeComputer(puzzleinput, Convert.ToInt32(tito.InputValue)); intComputer2.Start(); } intComputer = null; puzzleinput = null; } }
public override async Task TestPart1() { TestInputOutput.Add(new InputOutput() { InputValue = "2", PuzzleString = "3,9,8,9,10,9,4,9,99,-1,8", OutputValue = "0" }); TestInputOutput.Add(new InputOutput() { InputValue = "5", PuzzleString = "3,9,8,9,10,9,4,9,99,-1,8", OutputValue = "0" }); TestInputOutput.Add(new InputOutput() { InputValue = "8", PuzzleString = "3,9,8,9,10,9,4,9,99,-1,8", OutputValue = "1" }); TestInputOutput.Add(new InputOutput() { InputValue = "3", PuzzleString = "3,9,7,9,10,9,4,9,99,-1,8", OutputValue = "1" }); TestInputOutput.Add(new InputOutput() { InputValue = "18", PuzzleString = "3,9,7,9,10,9,4,9,99,-1,8", OutputValue = "0" }); TestInputOutput.Add(new InputOutput() { InputValue = "10", PuzzleString = "3,3,1108,-1,8,3,4,3,99", OutputValue = "0" }); TestInputOutput.Add(new InputOutput() { InputValue = "8", PuzzleString = "3,3,1108,-1,8,3,4,3,99", OutputValue = "1" }); TestInputOutput.Add(new InputOutput() { InputValue = "2", PuzzleString = "3,3,1107,-1,8,3,4,3,99", OutputValue = "1" }); TestInputOutput.Add(new InputOutput() { InputValue = "8", PuzzleString = "3,3,1107,-1,8,3,4,3,99", OutputValue = "0" }); TestInputOutput.Add(new InputOutput() { InputValue = "9", PuzzleString = "3,3,1107,-1,8,3,4,3,99", OutputValue = "0" }); TestInputOutput.Add(new InputOutput() { InputValue = "0", PuzzleString = "3,12,6,12,15,1,13,14,13,4,13,99,-1,0,1,9", OutputValue = "0" }); TestInputOutput.Add(new InputOutput() { InputValue = "9", PuzzleString = "3,12,6,12,15,1,13,14,13,4,13,99,-1,0,1,9", OutputValue = "1" }); TestInputOutput.Add(new InputOutput() { InputValue = "33", PuzzleString = "3,12,6,12,15,1,13,14,13,4,13,99,-1,0,1,9", OutputValue = "1" }); TestInputOutput.Add(new InputOutput() { InputValue = "0", PuzzleString = "3,3,1105,-1,9,1101,0,0,12,4,12,99,1", OutputValue = "0" }); TestInputOutput.Add(new InputOutput() { InputValue = "9", PuzzleString = "3,3,1105,-1,9,1101,0,0,12,4,12,99,1", OutputValue = "1" }); TestInputOutput.Add(new InputOutput() { InputValue = "33", PuzzleString = "3,3,1105,-1,9,1101,0,0,12,4,12,99,1", OutputValue = "1" }); TestInputOutput.Add(new InputOutput() { InputValue = "2", PuzzleString = @"3,21,1008,21,8,20,1005,20,22,107,8,21,20,1006,20,31, 1106,0,36,98,0,0,1002,21,125,20,4,20,1105,1,46,104, 999,1105,1,46,1101,1000,1,20,4,20,1105,1,46,98,99", OutputValue = "999" }); TestInputOutput.Add(new InputOutput() { InputValue = "8", PuzzleString = @"3,21,1008,21,8,20,1005,20,22,107,8,21,20,1006,20,31, 1106,0,36,98,0,0,1002,21,125,20,4,20,1105,1,46,104, 999,1105,1,46,1101,1000,1,20,4,20,1105,1,46,98,99", OutputValue = "1000" }); TestInputOutput.Add(new InputOutput() { InputValue = "9", PuzzleString = @"3,21,1008,21,8,20,1005,20,22,107,8,21,20,1006,20,31, 1106,0,36,98,0,0,1002,21,125,20,4,20,1105,1,46,104, 999,1105,1,46,1101,1000,1,20,4,20,1105,1,46,98,99", OutputValue = "1001" }); TestInputOutput.Add(new InputOutput() { InputValue = "33", PuzzleString = @"3,21,1008,21,8,20,1005,20,22,107,8,21,20,1006,20,31, 1106,0,36,98,0,0,1002,21,125,20,4,20,1105,1,46,104, 999,1105,1,46,1101,1000,1,20,4,20,1105,1,46,98,99", OutputValue = "1001" }); TestInputOutput.Add(new InputOutput() { InputValue = "0", PuzzleString = @"3,21,1008,21,8,20,1005,20,22,107,8,21,20,1006,20,31, 1106,0,36,98,0,0,1002,21,125,20,4,20,1105,1,46,104, 999,1105,1,46,1101,1000,1,20,4,20,1105,1,46,98,99", OutputValue = "999" }); foreach (var tito in TestInputOutput) { var puzzleinput = tito.PuzzleString.Split(',').Select(x => Convert.ToInt64(x)).ToList(); var intComputer = new Service.IntCodeComputer(puzzleinput, Convert.ToInt32(tito.InputValue)); intComputer.Start(); if (tito.OutputValue == intComputer.LocalComputerMemory.ProgramValue.ToString()) { Debug.WriteLine($"INPUT:{tito.InputValue} - {tito.PuzzleString} - OUTPUT:{tito.OutputValue} = OK"); } else { Debug.WriteLine($"INPUT:{tito.InputValue} - {tito.PuzzleString} - OUTPUT:{tito.OutputValue} = NOK"); puzzleinput = tito.PuzzleString.Split(',').Select(x => Convert.ToInt64(x)).ToList(); var intComputer2 = new Service.IntCodeComputer(puzzleinput, Convert.ToInt32(tito.InputValue)); intComputer2.Start(); } intComputer = null; puzzleinput = null; } }