public void Regression2() { // Init var report = new TestReport(); var puz = Puzzle.Builder.FromLines(new[] { "################", "#..............#", "#..............#", "#.############.#", "#..............#", "################" }); var stat = new StaticAnalysisMaps(puz); var dead = DeadMapAnalysis.FindDeadMap(stat); Assert.NotNull(dead); report.WriteLine(dead); // Assert.That(report, Is.EqualTo(new TestReport( //@"........... //........... //........... //.......X... //........... //........... //.......X... //...X..X.... //........... //........... //..........." // }
public void DeadMap() { // Init var report = new TestReport(); var stat = new StaticAnalysisMaps(TestLibrary.Default.Puzzle); var dead = DeadMapAnalysis.FindDeadMap(stat); Assert.NotNull(dead); report.WriteLine(dead); var expect = new TestReport( @"........... ....X...... ...X....XX. ..X......X. .X....X..X. .........X. ....X....X. ........X.. ..X....X... ..XXXXX.... ..........."); Assert.Equal(report, expect); }
public void Box() { // Init var report = new TestReport(); var puz = Puzzle.Builder.FromLines(new[] { "#####", "#...#", "#...#", "#...#", "#####" }); var stat = new StaticAnalysisMaps(puz); var dead = DeadMapAnalysis.FindDeadMap(stat); Assert.NotNull(dead); report.WriteLine(dead); Assert.Equal(new TestReport( @"..... .XXX. .X.X. .XXX. ....."), report); }
public void Walls_Box_4v4() { // Init var report = new TestReport(); var puz = Puzzle.Builder.FromLines(new[] { "######", "#....#", "#....#", "#....#", "#....#", "######" }); var stat = new StaticAnalysisMaps(puz); Assert.NotNull(stat.IndividualWalls); foreach (var wall in stat.IndividualWalls) { report.WriteLine(wall); } Assert.Equal(new TestReport(@"(1,1) => (4,1) ...... .XXXX. ...... ...... ...... ...... (1,4) => (4,4) ...... ...... ...... ...... .XXXX. ...... (1,1) => (1,4) ...... .X.... .X.... .X.... .X.... ...... (4,1) => (4,4) ...... ....X. ....X. ....X. ....X. ...... "), report); }
public void DoorMap() { // Init var report = new TestReport(); var stat = new StaticAnalysisMaps(Puzzle.Builder.DefaultTestPuzzle()); Assert.NotNull(stat.DoorMap); report.WriteLine(stat.DoorMap); Assert.Equal(new TestReport(@"........... ........... ........... .......X... ........... ........... .......X... ...X..X.... ........... ........... ..........."), report); }
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))); }
public void Recesses() { // Init var report = new TestReport(); var stat = new StaticAnalysisMaps(Puzzle.Builder.DefaultTestPuzzle()); Assert.NotNull(stat.RecessMaps); foreach (var recess in stat.RecessMaps) { report.WriteLine(recess); } Assert.Equal(new TestReport(@"(8,2) => (9,2) ........... ........... ........XX. ........... ........... ........... ........... ........... ........... ........... ........... (2,9) => (6,9) ........... ........... ........... ........... ........... ........... ........... ........... ........... ..XXXXX.... ........... (2,8) => (2,9) ........... ........... ........... ........... ........... ........... ........... ........... ..X........ ..X........ ........... (9,2) => (9,6) ........... ........... .........X. .........X. .........X. .........X. .........X. ........... ........... ........... ..........."), report); }
public void Walls() { // Init var report = new TestReport(); var stat = new StaticAnalysisMaps(Puzzle.Builder.DefaultTestPuzzle()); Assert.NotNull(stat.IndividualWalls); foreach (var wall in stat.IndividualWalls) { report.WriteLine(wall); } Assert.Equal(new TestReport(@"(8,2) => (9,2) ........... ........... ........XX. ........... ........... ........... ........... ........... ........... ........... ........... (3,6) => (4,6) ........... ........... ........... ........... ........... ........... ...XX...... ........... ........... ........... ........... (2,9) => (6,9) ........... ........... ........... ........... ........... ........... ........... ........... ........... ..XXXXX.... ........... (2,8) => (2,9) ........... ........... ........... ........... ........... ........... ........... ........... ..X........ ..X........ ........... (6,3) => (6,4) ........... ........... ........... ......X.... ......X.... ........... ........... ........... ........... ........... ........... (9,2) => (9,6) ........... ........... .........X. .........X. .........X. .........X. .........X. ........... ........... ........... ........... "), report); }