public void ValidateNoOverdrawEvenWidth() { var p = new TextureCollectionPainter(prefs); var(_, gridParent, _) = CreateTextureSet(8, 4, TileType.Isometric); var btmp = p.CreateBitmap(gridParent); var pixMap = btmp.PeekPixels(); var asText = Print(pixMap); Console.WriteLine(asText); btmp.Width.Should().Be(16 + 5); btmp.Height.Should().Be(4 + 4); var goldenSample = @" ccccccccccccccccccccc c...................c c.##dddd##.##dddd##.c c.dd####dd.dd####dd.c c.dd####dd.dd####dd.c c.##dddd##.##dddd##.c c...................c ccccccccccccccccccccc ".Replace("\r\n", "\n") .TrimStart(); asText.Should().Be(goldenSample); }
public void ValidateBitmapSize() { var p = new TextureCollectionPainter(prefs); var(_, gridParent, _) = CreateTextureSet(8, 4, TileType.Isometric); using var btmp = p.CreateBitmap(gridParent); btmp.Width.Should().Be(16 + 5); btmp.Height.Should().Be(4 + 4); }
public void ValidateNoOverdrawOddWidth_Iso() { var p = new TextureCollectionPainter(prefs); var(set, gridParent, grid) = CreateTextureSet(7, 5, TileType.Isometric); set.Width = 7; set.Height = 5; grid.CellWidth = 10; grid.CellHeight = 10; var btmp = p.CreateBitmap(gridParent); btmp.Width.Should().Be(20 + 5); btmp.Height.Should().Be(10 + 4); var pixMap = btmp.PeekPixels(); var asText = Print(pixMap); Console.WriteLine(asText); var goldenSample = @" ccccccccccccccccccccccccc c.......................c c.....d..........d......c c...dd.dd......dd.dd....c c..d.....d....d.....d...c c..ddd.ddd....ddd.ddd...c c..d..d..d....d..d..d...c c..d##d##d....d##d##d...c c..ddddddd....ddddddd...c c..d##d##d....d##d##d...c c..#ddddd#....#ddddd#...c c..###d###....###d###...c c.......................c ccccccccccccccccccccccccc ".Replace("\r\n", "\n") .TrimStart(); /* * "ccccccccccccccccccccccccc\n" + * "c.......................c\n" + * "c.....d..........d......c\n" + * "c...dd.dd......dd.dd....c\n" + * "c..d.....d....d.....d...c\n" + * "c..ddd.ddd....ddd.ddd...c\n" + * "c..d..d..d....d..d..d...c\n" + * "c..d##d##d....d##d##d...c\n" + * "c..ddddddd....ddddddd...c\n" + * "c..d##d##d....d##d##d...c\n" + * "c..#ddddd#....#ddddd#...c\n" + * "c..###d###....###d###...c\n" + * "c.......................c\n" + * "ccccccccccccccccccccccccc\n"; */ asText.Should().Be(goldenSample); }
public void ValidateNoOverdrawOddWidth_Grid() { var p = new TextureCollectionPainter(prefs); var(_, gridParent, grid) = CreateTextureSet(7, 5, TileType.Grid); grid.CellWidth = 10; grid.CellHeight = 10; const int borderSize = 2; const int paddingSize = 2; const int spacing = 1; var btmp = p.CreateBitmap(gridParent); btmp.Width.Should().Be(20 + borderSize + paddingSize + spacing); btmp.Height.Should().Be(10 + borderSize + paddingSize); var pixMap = btmp.PeekPixels(); var asText = Print(pixMap); Console.WriteLine(asText); var goldenSample = @" ccccccccccccccccccccccccc c.......................c c.......................c c.......................c c.......................c c.......................c c.......................c c..ddddddd....ddddddd...c c..d#####d....d#####d...c c..d#####d....d#####d...c c..d#####d....d#####d...c c..ddddddd....ddddddd...c c.......................c ccccccccccccccccccccccccc ".Replace("\r\n", "\n") .TrimStart(); asText.Should().Be(goldenSample); }
public void ValidateBitmapBorder() { var p = new TextureCollectionPainter(prefs); var(_, gridParent, _) = CreateTextureSet(8, 4, TileType.Isometric); var btmp = p.CreateBitmap(gridParent); var stream = btmp.Write(); File.WriteAllBytes("g:/tmp.png", stream.ToArray()); btmp.Width.Should().Be(16 + 5); btmp.Height.Should().Be(4 + 4); var pixMap = btmp.PeekPixels(); pixMap.GetPixelColor(0, 5).Should().BeSameColor(border); pixMap.GetPixelColor(btmp.Width - 1, 5).Should().BeSameColor(border); pixMap.GetPixelColor(5, 0).Should().BeSameColor(border); pixMap.GetPixelColor(5, btmp.Height - 1).Should().BeSameColor(border); }
public void ValidateHighlightsEvenWidth_Cardinals_Grid() { var p = new TextureCollectionPainter(prefs); var(_, gridParent, grid) = CreateTextureSet(16, 8, TileType.Grid); grid.MatcherType = MatcherType.CardinalFlags; grid.Tiles.Add(new TextureTile(false, 2, 0)); grid.Tiles.Add(new TextureTile(false, 3, 0)); grid.Tiles[0].SelectorHint = "0101"; grid.Tiles[1].SelectorHint = "1010"; grid.Tiles[2].SelectorHint = "1100"; grid.Tiles[3].SelectorHint = "1011"; var btmp = p.CreateBitmap(gridParent); var pixMap = btmp.PeekPixels(); var asText = Print(pixMap); Console.WriteLine(asText); var goldenSample = @" ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c.....................................................................c c.dddddddddddddddd.dddddddddddddddd.dddddddddddddddd.dddddddddddddddd.c c.d##############d.d##############d.d##############d.d##############d.c c.d#e##########e#d.d#eeeeeeeeeeee#d.d#eeeeeeeeeeee#d.d#eeeeeeeeeeee#d.c c.d#e##########e#d.d##############d.d############e#d.d#e############d.c c.d#e##########e#d.d##############d.d############e#d.d#e############d.c c.d#e##########e#d.d#eeeeeeeeeeee#d.d############e#d.d#eeeeeeeeeeee#d.c c.d##############d.d##############d.d##############d.d##############d.c c.dddddddddddddddd.dddddddddddddddd.dddddddddddddddd.dddddddddddddddd.c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c c.....................................................................c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ".Replace("\r\n", "\n") .TrimStart(); asText.Should().Be(goldenSample); }