public void Parse_operation_and_argument_split_by_a_space(
            string instructionDescription,
            string expectedOperationDescription,
            int expectedArgumentDescription)
        {
            var(operation, argument) = InstructionParser.Parse(instructionDescription);

            Assert.Equal(operation, expectedOperationDescription);
            Assert.Equal(argument, expectedArgumentDescription);
        }
 public static Instruction Create(string instructionDescription)
 {
     var(operation, argument) = InstructionParser.Parse(instructionDescription);
     return(operation switch
     {
         AccumulatorInstruction.OperationName => new AccumulatorInstruction(argument),
         JumpInstruction.OperationName => new JumpInstruction(argument),
         NoOperationInstruction.OperationName => new NoOperationInstruction(argument),
         _ => throw new ArgumentException(
             $"Instruction {operation} is unknown",
             nameof(instructionDescription))
     });