public void GivenABlockOfColouredPixels_AndPixelPositionInBlockGiven__WhenFloodCalledWithPixelPos_ThenAdjacentPixelsAreReturned() { _colourGridService = new GridService(4, _startIndexPosition); var expectedColour = "red"; var expectedNewFloodColour = "white"; var start = 1; var end = 2; _colourGridService.FillRow(expectedColour, 1, start, end); _colourGridService.FillRow(expectedColour, 2, start, end); _colourGridService.FloodBlockWithColour(expectedNewFloodColour, new PixelPosition { X = 1, Y = 1 }); Assert.That(_colourGridService.GetPixelColour(new PixelPosition { X = 2, Y = 1 }), Is.EqualTo(expectedNewFloodColour)); Assert.That(_colourGridService.GetPixelColour(new PixelPosition { X = 1, Y = 1 }), Is.EqualTo(expectedNewFloodColour)); Assert.That(_colourGridService.GetPixelColour(new PixelPosition { X = 1, Y = 2 }), Is.EqualTo(expectedNewFloodColour)); Assert.That(_colourGridService.GetPixelColour(new PixelPosition { X = 2, Y = 2 }), Is.EqualTo(expectedNewFloodColour)); }
public void GivenABlockOfColouredPixels_AndPixelPositionIsInValid__WhenFloodCalledWithPixelPos_ThenExceptionThrown() { _colourGridService = new GridService(4, _startIndexPosition); var expectedColour = "red"; var expectedNewFloodColour = "white"; _colourGridService.FillRow(expectedColour, 1, 1, 2); _colourGridService.FillRow(expectedColour, 2, 1, 2); Assert.Throws <ApplicationException>(() => _colourGridService.FloodBlockWithColour(expectedNewFloodColour, new PixelPosition { X = 9, Y = 9 })); }