Esempio n. 1
0
        public void DynamicDeadMap()
        {
            // Init
            var p = Puzzle.Builder.FromLines(
                new[]
            {
                "##########",
                "#...XX...#",
                "#...X#...#",
                "#.P......#",
                "##########"
            });
            var stat = new StaticAnalysisMaps(p);

            Assert.True(DeadMapAnalysis.DynamicCheck(stat, StateMaps.Create(p)));


            p = Puzzle.Builder.FromLines(
                new[]
            {
                "##########",
                "#...#X...#",
                "#...X#...#",
                "#.P......#",
                "##########"
            });
            stat = new StaticAnalysisMaps(p);
            Assert.True(DeadMapAnalysis.DynamicCheck(stat, StateMaps.Create(p)));

            p = Puzzle.Builder.FromLines(
                new[]
            {
                "##########",
                "#...##...#",
                "#...XX...#",
                "#.P......#",
                "##########"
            });
            stat = new StaticAnalysisMaps(p);
            Assert.True(DeadMapAnalysis.DynamicCheck(stat, StateMaps.Create(p)));

            p = Puzzle.Builder.FromLines(
                new[]
            {
                "##########",
                "#........#",
                "#...XX...#",
                "#...##...#",
                "#.P......#",
                "##########"
            });
            stat = new StaticAnalysisMaps(p);
            Assert.True(DeadMapAnalysis.DynamicCheck(stat, StateMaps.Create(p)));

            p = Puzzle.Builder.FromLines(
                new[]
            {
                "##########",
                "#........#",
                "#...XX...#",
                "#...X#...#",
                "#.P......#",
                "##########"
            });
            stat = new StaticAnalysisMaps(p);
            Assert.True(DeadMapAnalysis.DynamicCheck(stat, StateMaps.Create(p)));



            p = Puzzle.Builder.FromLines(
                new[]
            {
                "##########",
                "#........#",
                "#...$$...#",
                "#...X#...#",
                "#.P......#",
                "##########"
            });
            stat = new StaticAnalysisMaps(p);
            Assert.True(DeadMapAnalysis.DynamicCheck(stat, StateMaps.Create(p)));

            p = Puzzle.Builder.FromLines(
                new[]
            {
                "##########",
                "#........#",
                "#...$$...#",
                "#...#X...#",
                "#.P......#",
                "##########"
            });
            stat = new StaticAnalysisMaps(p);
            Assert.True(DeadMapAnalysis.DynamicCheck(stat, StateMaps.Create(p)));

            p = Puzzle.Builder.FromLines(
                new[]
            {
                "##########",
                "#........#",
                "#...#X...#",
                "#...$$...#",
                "#.P......#",
                "##########"
            });
            stat = new StaticAnalysisMaps(p);
            Assert.True(DeadMapAnalysis.DynamicCheck(stat, StateMaps.Create(p)));


            // NOT_DEAD
            p = Puzzle.Builder.FromLines(
                new[]
            {
                "##########",
                "#........#",
                "#...$$...#",
                "#...$#...#",
                "#.P......#",
                "##########"
            });
            stat = new StaticAnalysisMaps(p);
            Assert.False(DeadMapAnalysis.DynamicCheck(stat, StateMaps.Create(p)));
        }