/// <inheritdoc /> public CommandResult CheckValidCommand(string input) { var firstSpaceIndex = input.IndexOf(" ", StringComparison.Ordinal); var inputCommand = string.Empty; if (firstSpaceIndex > 0) { inputCommand = StringExtentions.OnlyFirstToUpperCase(input.Substring(0, firstSpaceIndex)); } else { inputCommand = StringExtentions.OnlyFirstToUpperCase(input); } switch (inputCommand) { case "Place": return(PlaceCommand(input.Trim().Substring(firstSpaceIndex + 1)));; case "Move": case "Left": case "Right": case "Report": return(GeneralCommand(inputCommand)); default: return(CommandResult.CreateFromFailure(CommandErrors.InvalidCommand, _invalidCommand)); } }