public void FloodPixels_ColorsAllAdjacentPixelsOfSameColor() { // Arrange PixelPainter pixelPainter = new PixelPainter(9, 9); pixelPainter.Grid[new Point(2, 3)] = Color.Blue; pixelPainter.Grid[new Point(3, 2)] = Color.Green; pixelPainter.Grid[new Point(3, 3)] = Color.Green; pixelPainter.Grid[new Point(3, 4)] = Color.Green; pixelPainter.Grid[new Point(3, 5)] = Color.Green; pixelPainter.Grid[new Point(3, 6)] = Color.Green; pixelPainter.Grid[new Point(4, 3)] = Color.Blue; pixelPainter.Grid[new Point(5, 3)] = Color.Blue; pixelPainter.Grid[new Point(5, 4)] = Color.Blue; pixelPainter.Grid[new Point(6, 3)] = Color.Blue; pixelPainter.Grid[new Point(6, 4)] = Color.Blue; pixelPainter.Grid[new Point(7, 3)] = Color.Blue; pixelPainter.Grid[new Point(8, 2)] = Color.Yellow; pixelPainter.Grid[new Point(8, 4)] = Color.Blue; pixelPainter.Grid[new Point(8, 5)] = Color.Blue; // Act pixelPainter.FloodPixels(new Point(6, 3), Color.Red); var numberOfFloodedPixels = pixelPainter.Grid.Values.Where(x => x == Color.Red).Count(); // Assert Assert.AreEqual(6, numberOfFloodedPixels); }
public void FloodPixels_StopsAtGridBoundaries() { // Arrange PixelPainter pixelPainter = new PixelPainter(9, 9); // Act pixelPainter.FloodPixels(new Point(1, 1), Color.Red); var numberOfFloodedPixels = pixelPainter.Grid.Values.Where(x => x == Color.Red).Count(); // Assert Assert.AreEqual(81, numberOfFloodedPixels); }