Application that provides options to draw canvas with line, rectangle and fill it.
Code is written considering
- Object Oriented Programming.
- Unit tests using Junit and Mockito.
- Used Command Design Pattern to handle different user input commands
Clone application
git clone https://github.com/rashmijoshi3/ConsoleDrawingTool.git
To build and run application gradle needs to be installed.
- To build application gradle build
- To run unit tests gradle test
- To run application gradle -q run
You're given the task of writing a simple console version of a drawing program. The functionality of the program is quite limited but should be extensible. The program should work as follows:
- create a new canvas.
- start drawing on the canvas by issuing various commands.
- quit.
The program should support the following commands:
C w h - Should create a new canvas of width w and height h.
L x1 y1 x2 y2 - Should create a new line from (x1,y1) to (x2,y2) . Currently only horizontal or vertical lines are supported. Horizontal and vertical lines will be drawn using the x character.
R x1 y1 x2 y2 - Should create a new rectangle, whose upper left corner is (x1,y1) and lower right corner is (x2,y2) . Horizontal and vertical lines will be drawn using the x character.
B x y c - Should fill the entire area connected to (x,y) with colour 'c' . The behaviour of this is the same as that of the "bucket fill" tool in paint programs.
Q Should quit the program.