Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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
            }));
        }