public int Returns_output_defined_by_program(int location) { IOutputReceiver outputReceiver = new QueuedOutputReceiverBuilder().Build(); var computer = new IntcodeComputerBuilder().WithOutputReceiver(outputReceiver).Build(); computer.Run(new[] { 4, location, 99, 50, 60 }); var result = outputReceiver.Dequeue(); Assert.IsTrue(outputReceiver.IsEmpty()); return(result); }
public int Outputs_whatever_was_input(int[] instructions, int input) { var inputSender = new QueuedInputSenderBuilder().Build(); inputSender.Enqueue(input); var outputReceiver = new QueuedOutputReceiverBuilder().Build(); var computer = new IntcodeComputerBuilder() .WithInputSender(inputSender) .WithOutputReceiver(outputReceiver) .Build(); computer.Run(instructions); var result = outputReceiver.Dequeue(); Assert.IsTrue(outputReceiver.IsEmpty()); return(result); }