public void CreateCanvasShouldNotCreateACanvasForIncorrectInput() { _inputCommandReader = Mock.Of <IInputCommandReader>(m => m.ReadCommands() == "draw a canvas"); _canvasProcessor = new CanvasProcessor(_inputCommandReader, _outputWriter); _canvasProcessor.CanvasRenderer = _canvasRenderer.Object; Assert.IsNull(_canvasProcessor.CreateCanvas()); }
public void CreateCanvasShouldDrawCanvasForCorrectInput() { _inputCommandReader = Mock.Of <IInputCommandReader>(m => m.ReadCommands() == "20 4"); _canvasProcessor = new CanvasProcessor(_inputCommandReader, _outputWriter); _canvasProcessor.CanvasRenderer = _canvasRenderer.Object; _canvasProcessor.CreateCanvas(); _canvasRenderer.Verify(x => x.SetTheCanvas(), Times.Once()); _canvasRenderer.Verify(x => x.Draw(), Times.Once()); }
public void ShouldNotDrawALineForInvalidPoints() { _inputCommandReader = Mock.Of <IInputCommandReader>(m => m.ReadCommands() == "20 4"); _canvasProcessor = new CanvasProcessor(_inputCommandReader, _outputWriter); _canvasProcessor.CanvasRenderer = _canvasRenderer.Object; string[] tokens = { "L", "1", "1", "4", "4" }; _canvas = Mock.Of <Canvas>(m => m.Width == x && m.Height == y); _canvasProcessor.DrawLineOnCanvas(_canvas, tokens); _canvasRenderer.Verify(v => v.DrawLine(new Point(1, 1), new Point(4, 4)), Times.Never()); _canvasRenderer.Verify(v => v.Draw(), Times.Never()); }
public void ShouldNotBucketFillForInvalidInput() { _inputCommandReader = Mock.Of <IInputCommandReader>(m => m.ReadCommands() == "20 4"); _canvasProcessor = new CanvasProcessor(_inputCommandReader, _outputWriter); _canvasProcessor.CanvasRenderer = _canvasRenderer.Object; String[] tokens = { "B", "21", "3", "o" }; Point point = new Point(21, 3); _canvas = Mock.Of <Canvas>(m => m.Width == x && m.Height == y); _canvasProcessor.BucketFillOnCanvas(_canvas, tokens); _canvasRenderer.Verify(v => v.BucketFillArea(point, 'o'), Times.Never()); _canvasRenderer.Verify(v => v.Draw(), Times.Never()); }
public void ShouldDrawALineForValidInput() { _inputCommandReader = Mock.Of <IInputCommandReader>(m => m.ReadCommands() == "20 4"); _canvasProcessor = new CanvasProcessor(_inputCommandReader, _outputWriter); _canvasProcessor.CanvasRenderer = _canvasRenderer.Object; string[] tokens = { "L", "1", "2", "6", "2" }; Point from = new Point(1, 2); Point to = new Point(6, 2); _canvas = Mock.Of <Canvas>(m => m.Width == x && m.Height == y); _canvasProcessor.DrawLineOnCanvas(_canvas, tokens); _canvasRenderer.Verify(x => x.DrawLine(from, to), Times.Once()); _canvasRenderer.Verify(x => x.Draw(), Times.Once()); }
public void ShouldNotDrawARectangleForOutOfBoundsInput() { _inputCommandReader = Mock.Of <IInputCommandReader>(m => m.ReadCommands() == "20 4"); _canvasProcessor = new CanvasProcessor(_inputCommandReader, _outputWriter); _canvasProcessor.CanvasRenderer = _canvasRenderer.Object; String[] tokens = { "R", "16", "1", "20", "5" }; Point from = new Point(16, 1); Point to = new Point(20, 3); _canvas = Mock.Of <Canvas>(m => m.Width == x && m.Height == y); _canvasProcessor.DrawARectangleOnCanvas(_canvas, tokens); _canvasRenderer.Verify(v => v.DrawRectangle(from, to), Times.Never()); _canvasRenderer.Verify(v => v.Draw(), Times.Never()); }