private static string DAY5_TEST() { var inputArraySource = new int[] { 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 }; var sb = new StringBuilder(); var intcode = new IntcodeMachine(); int input, result; var inputArray = new int[inputArraySource.Length]; Array.Copy(inputArraySource, 0, inputArray, 0, inputArraySource.Length); intcode.LoadProgram(inputArray); input = -100; intcode.QueueInput(input); result = intcode.ExecuteProgram(); sb.AppendLine($"\tTesting DAY5_PT2:\tInput: {input}\tResult: {result}\tExpected: 999"); Array.Copy(inputArraySource, 0, inputArray, 0, inputArraySource.Length); intcode.LoadProgram(inputArray); input = 8; intcode.QueueInput(input); result = intcode.ExecuteProgram(); sb.AppendLine($"\tTesting DAY5_PT2:\tInput: {input}\tResult: {result}\tExpected: 1000"); Array.Copy(inputArraySource, 0, inputArray, 0, inputArraySource.Length); intcode.LoadProgram(inputArray); input = 100; intcode.QueueInput(input); result = intcode.ExecuteProgram(); sb.AppendLine($"\tTesting DAY5_PT2:\tInput: {input}\tResult: {result}\tExpected: 1001"); return(sb.ToString()); }
private static string EQ_IMM() { var inputArraySource = new int[] { 3, 3, 1108, -1, 8, 3, 4, 3, 99 }; var sb = new StringBuilder(); var intcode = new IntcodeMachine(); int input, result; var inputArray = new int[inputArraySource.Length]; Array.Copy(inputArraySource, 0, inputArray, 0, inputArraySource.Length); intcode.LoadProgram(inputArray); input = 8; intcode.QueueInput(input); result = intcode.ExecuteProgram(); sb.AppendLine($"\tTesting EQ_IMM: \tInput: {input}\tResult: {result}\tExpected: 1"); Array.Copy(inputArraySource, 0, inputArray, 0, inputArraySource.Length); intcode.LoadProgram(inputArray); input = 9; intcode.QueueInput(input); result = intcode.ExecuteProgram(); sb.AppendLine($"\tTesting EQ_IMM: \tInput: {input}\tResult: {result}\tExpected: 0"); Array.Copy(inputArraySource, 0, inputArray, 0, inputArraySource.Length); intcode.LoadProgram(inputArray); input = 7; intcode.QueueInput(input); result = intcode.ExecuteProgram(); sb.AppendLine($"\tTesting EQ_IMM: \tInput: {input}\tResult: {result}\tExpected: 0"); return(sb.ToString()); }
private static string JMP_POS() { var inputArraySource = new int[] { 3, 12, 6, 12, 15, 1, 13, 14, 13, 4, 13, 99, -1, 0, 1, 9 }; var sb = new StringBuilder(); var intcode = new IntcodeMachine(); int input, result; var inputArray = new int[inputArraySource.Length]; Array.Copy(inputArraySource, 0, inputArray, 0, inputArraySource.Length); intcode.LoadProgram(inputArray); input = 0; intcode.QueueInput(input); result = intcode.ExecuteProgram(); sb.AppendLine($"\tTesting JMP_POS:\tInput: {input}\tResult: {result}\tExpected: 0"); Array.Copy(inputArraySource, 0, inputArray, 0, inputArraySource.Length); intcode.LoadProgram(inputArray); input = 1; intcode.QueueInput(input); result = intcode.ExecuteProgram(); sb.AppendLine($"\tTesting JMP_POS:\tInput: {input}\tResult: {result}\tExpected: 1"); return(sb.ToString()); }