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); }
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); }
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); }
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); }