コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }