示例#1
0
            public void TileFits_Right_Matching()
            {
                var tile = new Day20.GridSides(10, 20, 30, 40);
                var grid = new Day20.GridTile[2, 2];

                grid[0, 0] = new Day20.GridTile(0, new Day20.GridSides(0, 40, 0, 0), Day20.RotationValue.Identity);
                var actual = Day20.TileFits(tile, 1, 0, grid);

                Assert.True(actual);
            }
示例#2
0
            public void TileFits_Top_NotMatching()
            {
                var tile = new Day20.GridSides(10, 20, 30, 40);
                var grid = new Day20.GridTile[2, 2];

                grid[0, 0] = new Day20.GridTile(0, new Day20.GridSides(20, 40, 30, 10), Day20.RotationValue.Identity);
                var actual = Day20.TileFits(tile, 0, 1, grid);

                Assert.False(actual);
            }
示例#3
0
            public void RotationMatching_WithTopAndLeft(Day20.RotationValue expected)
            {
                var fliped    = Day20.RotationToSides(new Day20.GridSides(10, 20, 30, 40), expected);
                var tileSides = new List <(int, Day20.GridSides)>();

                tileSides.Add((1, new Day20.GridSides(10, 20, 30, 40)));

                var grid = new Day20.GridTile[2, 2];

                grid[1, 0]          = new Day20.GridTile(0, new Day20.GridSides(0, 0, fliped.Top, 0), Day20.RotationValue.Identity);
                grid[0, 1]          = new Day20.GridTile(0, new Day20.GridSides(0, fliped.Left, 0, 0), Day20.RotationValue.Identity);
                var(succes, answer) = Day20.Run(tileSides, 3, grid);

                Assert.True(succes);
                Assert.Equal(expected, answer[1, 1].Rotation);
            }
示例#4
0
            public void Need_XFlip()
            {
                var tile       = new Day20.GridSides(10, 20, 30, 40);
                var tileSides  = new List <(int, Day20.GridSides)>();
                var ExpectedId = 1;

                tileSides.Add((ExpectedId, tile));

                var grid = new Day20.GridTile[2, 1];

                grid[0, 0] = new Day20.GridTile(0, new Day20.GridSides(0, 20, 0, 0), Day20.RotationValue.Identity);

                var(succes, answer) = Day20.Run(tileSides, 1, grid);

                Assert.True(succes);
                Assert.Equal(ExpectedId, answer[1, 0].TileId);
                Assert.Equal(Day20.RotationValue.X, answer[1, 0].Rotation);
            }