public void TestValidCommandsMapping() { Assert.AreEqual(InputPatternsAndCommandHandlersMap.GetCommandHandler(AppConstants.CREATE_CANVAS_COMMAND_PATTERN).GetType(), typeof(CreateCanvasCommandHandler)); Assert.AreEqual(InputPatternsAndCommandHandlersMap.GetCommandHandler(AppConstants.DRAW_LINE_COMMAND_PATTERN).GetType(), typeof(DrawLineCommandHandler)); Assert.AreEqual(InputPatternsAndCommandHandlersMap.GetCommandHandler(AppConstants.DRAW_RECTANGLE_COMMAND_PATTERN).GetType(), typeof(DrawRectangleCommandHandler)); Assert.AreEqual(InputPatternsAndCommandHandlersMap.GetCommandHandler(AppConstants.FILL_CONNECTED_AREA_COMMAND_PATTERN).GetType(), typeof(FillConnectedAreaCommandHandler)); Assert.AreEqual(InputPatternsAndCommandHandlersMap.GetCommandHandler(AppConstants.HELP_COMMAND_PATTERN).GetType(), typeof(HelpCommandHandler)); Assert.AreEqual(InputPatternsAndCommandHandlersMap.GetCommandHandler(AppConstants.QUIT_COMMAND_PATTERN).GetType(), typeof(QuitCommandHandler)); }
public void ParseAndProcessData(string line) { line = Regex.Replace(line, @"\s+", " "); //TODO:Can add all patterns of statement in a list and //loop through to find match instead of following foreach (var pattern in InputPatternsAndCommandHandlersMap.GetinputPatterns()) { if (Regex.IsMatch(line, pattern, RegexOptions.IgnoreCase)) { var handler = InputPatternsAndCommandHandlersMap.GetCommandHandler(pattern); handler.ProcessCommand(line); return; } } throw new InvalidCommandException(); }
public void TestInValidCommandsMapping() { Assert.Throws <InvalidCommandException>(() => InputPatternsAndCommandHandlersMap.GetCommandHandler("invalid command")); }
public void InputPatternsAndCommandHandlersMapTestSetup() { commandPatterns = InputPatternsAndCommandHandlersMap.GetinputPatterns(); }