public ICanvas ExecuteCommand(string[] args) { if (args.Length < 3) { throw new ArgumentException($"{Constants.Command_Expect_Three_Arguments} {args.Length}"); } if (!uint.TryParse(args[0], out uint x) || !uint.TryParse(args[1], out uint y) || !char.TryParse(args[2], out char colour)) { throw new ArgumentException($"{Constants.Command_Expect_Two_Positive_One_Alphanumeric_Arguments}"); } if (_canvas == null) { throw new ArgumentException($"{Constants.Command_Canvas_Not_Exists}"); } var adjustedTarget = new Point(x, y); _canvas.BucketFill(adjustedTarget, colour); return(_canvas); }
public void Execute(ICanvas canvas) { var bucketFillParameters = new BucketFillParameterParser().Parse(Input); canvas.BucketFill(bucketFillParameters); }