コード例 #1
0
        public void When_ProvidedValidInput_Expect_CorrectlyConfiguredGrid()
        {
            var data = @"[
                        [1, 2, 3],
                        [2, 1, 2],
                        [1, 3, 1],
                        [2, 1, 2]
            ]";

            var grid      = new Grid(3, 4);
            var generator = new InputGridGenerator();

            generator.Input = data;
            generator.GenerateGrid(grid);

            //first column
            Assert.That(grid.GetTile(0, 0).Type == TileType.Red);
            Assert.That(grid.GetTile(0, 1).Type == TileType.Green);
            Assert.That(grid.GetTile(0, 2).Type == TileType.Red);
            Assert.That(grid.GetTile(0, 3).Type == TileType.Green);

            //second column
            Assert.That(grid.GetTile(1, 0).Type == TileType.Green);
            Assert.That(grid.GetTile(1, 1).Type == TileType.Red);
            Assert.That(grid.GetTile(1, 2).Type == TileType.Yellow);
            Assert.That(grid.GetTile(1, 3).Type == TileType.Red);

            //third column
            Assert.That(grid.GetTile(2, 0).Type == TileType.Yellow);
            Assert.That(grid.GetTile(2, 1).Type == TileType.Green);
            Assert.That(grid.GetTile(2, 2).Type == TileType.Red);
            Assert.That(grid.GetTile(2, 3).Type == TileType.Green);
        }
コード例 #2
0
        private List <Match> SetupAndFindMatches(Size gridSize, string tileMap, string patternFile)
        {
            var grid = new Grid(gridSize);

            var generator = new InputGridGenerator();

            generator.Input = tileMap;
            generator.GenerateGrid(grid);

            var patterns = new PatternsLoader().Load(patternFile);

            var matcher = new PatternGridMatcher();

            matcher.Patterns = patterns;

            return(matcher.FindMatches(grid));
        }