Ejemplo n.º 1
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));
        }
Ejemplo n.º 2
0
        public void When_GivenValidPatternsFile_Expect_CorrectlyLoadedPatterns()
        {
            var loader   = new PatternsLoader();
            var patterns = loader.Load(@"resources\test_patterns.json");

            Assert.That(patterns.Length == 2);

            Assert.That(patterns[0].Name == "Vertical Match 3");
            Assert.That(patterns[0].Template[0].X == 0 && patterns[0].Template[0].Y == 0 && patterns[0].Template[0].Color == TemplateTileType.Any);
            Assert.That(patterns[0].Template[1].X == 0 && patterns[0].Template[1].Y == 1 && patterns[0].Template[1].Color == TemplateTileType.LikeFirst);
            Assert.That(patterns[0].Template[2].X == 0 && patterns[0].Template[2].Y == 2 && patterns[0].Template[2].Color == TemplateTileType.LikeFirst);

            Assert.That(patterns[1].Name == "Horizontal Match 4");
            Assert.That(patterns[1].Template[0].X == 0 && patterns[1].Template[0].Y == 0 && patterns[1].Template[0].Color == TemplateTileType.Any);
            Assert.That(patterns[1].Template[1].X == 1 && patterns[1].Template[1].Y == 0 && patterns[1].Template[1].Color == TemplateTileType.LikeFirst);
            Assert.That(patterns[1].Template[2].X == 2 && patterns[1].Template[2].Y == 0 && patterns[1].Template[2].Color == TemplateTileType.LikeFirst);
            Assert.That(patterns[1].Template[3].X == 3 && patterns[1].Template[3].Y == 0 && patterns[1].Template[3].Color == TemplateTileType.LikeFirst);
        }