Ejemplo n.º 1
0
        public IntcodeProgram(string value, IInstructionFactory instructionFactory, IOpcodeParser opcodeParser)
        {
            if (value is null)
            {
                throw new ArgumentNullException(nameof(value));
            }

            _program = value
                       .Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
                       .Select(number => int.Parse(number, CultureInfo.InvariantCulture))
                       .ToList();

            _instructionFactory = instructionFactory ?? throw new ArgumentNullException(nameof(instructionFactory));
            _opcodeParser       = opcodeParser ?? throw new ArgumentNullException(nameof(opcodeParser));
        }
Ejemplo n.º 2
0
 public IntcodeProgram(int[] value, IInstructionFactory instructionFactory, IOpcodeParser opcodeParser)
 {
     _program            = value?.ToList() ?? throw new ArgumentNullException(nameof(value));
     _instructionFactory = instructionFactory ?? throw new ArgumentNullException(nameof(instructionFactory));
     _opcodeParser       = opcodeParser ?? throw new ArgumentNullException(nameof(opcodeParser));
 }