Пример #1
0
        public void TestGridBoard_FullEmpty()
        {
            TestGridBoard gridBoard = new TestGridBoard();

            gridBoard.Resize(new Vector3Int(2, 2, 1));

            Assert.IsTrue(gridBoard.IsRowEmpty(new Vector3Int(0, 0, 0)));
            Assert.IsTrue(gridBoard.IsColumnEmpty(new Vector3Int(0, 0, 0)));
            Assert.IsFalse(gridBoard.IsRowFull(new Vector3Int(0, 0, 0)));
            Assert.IsFalse(gridBoard.IsColumnFull(new Vector3Int(0, 0, 0)));

            int deconstruct = 0;

            gridBoard.PutTile(new TestGridTile(deconstruct, 1, 1), new Vector3Int(0, 0, 0));

            Assert.IsFalse(gridBoard.IsRowEmpty(new Vector3Int(0, 0, 0)));
            Assert.IsFalse(gridBoard.IsColumnEmpty(new Vector3Int(0, 0, 0)));
            Assert.IsFalse(gridBoard.IsRowFull(new Vector3Int(0, 0, 0)));
            Assert.IsFalse(gridBoard.IsColumnFull(new Vector3Int(0, 0, 0)));

            gridBoard.PutTile(new TestGridTile(deconstruct, 1, 1), new Vector3Int(0, 1, 0));
            gridBoard.PutTile(new TestGridTile(deconstruct, 1, 1), new Vector3Int(1, 0, 0));

            Assert.IsTrue(gridBoard.IsRowFull(new Vector3Int(0, 0, 0)));
            Assert.IsTrue(gridBoard.IsColumnFull(new Vector3Int(0, 0, 0)));
        }
Пример #2
0
        public void TestGridBoard_TilesCount()
        {
            TestGridBoard gridBoard = new TestGridBoard();

            gridBoard.Resize(new Vector3Int(2, 2, 1));

            Assert.AreEqual(0, gridBoard.ColumnTilesCount(new Vector3Int(0, 0, 0)));
            Assert.AreEqual(0, gridBoard.RowTilesCount(new Vector3Int(0, 0, 0)));

            int deconstruct = 0;

            gridBoard.PutTile(new TestGridTile(deconstruct, 1, 1), new Vector3Int(0, 0, 0));

            Assert.AreEqual(1, gridBoard.ColumnTilesCount(new Vector3Int(0, 0, 0)));
            Assert.AreEqual(1, gridBoard.RowTilesCount(new Vector3Int(0, 0, 0)));
            Assert.AreEqual(0, gridBoard.ColumnTilesCount(new Vector3Int(1, 1, 0)));

            gridBoard.PutTile(new TestGridTile(deconstruct, 1, 1), new Vector3Int(1, 0, 0));
            gridBoard.PutTile(new TestGridTile(deconstruct, 1, 1), new Vector3Int(0, 1, 0));

            Assert.AreEqual(2, gridBoard.ColumnTilesCount(new Vector3Int(0, 0, 0)));
            Assert.AreEqual(2, gridBoard.RowTilesCount(new Vector3Int(0, 0, 0)));
        }
Пример #3
0
        public void TestGridBoard_Test()
        {
            TestGridBoard gridBoard = new TestGridBoard();

            gridBoard.Resize(new Vector3Int(20, 20, 2));
            Assert.AreEqual(2, gridBoard.Depth);
            Assert.AreEqual(20, gridBoard.Width);
            Assert.AreEqual(20, gridBoard.Height);
            Assert.IsFalse(gridBoard.IsValidLoc(new Vector3Int(0, 0, 2)));
            Assert.IsFalse(gridBoard.IsValidLoc(new Vector3Int(0, 0, -1)));
            Assert.IsFalse(gridBoard.IsValidLoc(new Vector3Int(20, 20, 0)));
            Assert.IsFalse(gridBoard.IsValidLoc(new Vector3Int(-1, -1, 0)));
            Assert.IsTrue(gridBoard.IsValidLoc(new Vector3Int(19, 19, 1)));
            Assert.IsTrue(gridBoard.IsValidLoc(new Vector3Int(0, 0, 0)));

            GridCell <GridTile> gridCell = gridBoard.CellAt(new Vector3Int(0, 0, 0));

            Assert.AreEqual(null, gridCell.tile);
            Assert.AreEqual(null, gridBoard.TileAt(new Vector3Int(0, 0, 0)));

            int          deconstruct = 0;
            TestGridTile tile        = new TestGridTile(deconstruct);

            Assert.IsFalse(gridBoard.PutTile(tile, new Vector3Int(20, 20, 0)));
            Assert.IsFalse(gridBoard.PutTile(tile, new Vector3Int(0, 0, 2)));
            Assert.IsTrue(gridBoard.PutTile(tile, new Vector3Int(0, 0, 0)));

            gridCell = gridBoard.CellAt(new Vector3Int(0, 0, 0));
            Assert.AreEqual(tile, gridCell.tile);
            Assert.AreEqual(tile, gridBoard.TileAt(new Vector3Int(0, 0, 0)));
            Assert.AreEqual(tile, gridBoard.TileAt(new Vector3Int(0, 1, 0)));
            Assert.AreEqual(tile, gridBoard.TileAt(new Vector3Int(1, 0, 0)));
            Assert.AreEqual(tile, gridBoard.TileAt(new Vector3Int(1, 1, 0)));
            Assert.AreEqual(null, gridBoard.TileAt(new Vector3Int(0, 0, 1)));
            Assert.AreEqual(null, gridBoard.TileAt(new Vector3Int(2, 0, 0)));
            Assert.AreEqual(null, gridBoard.TileAt(new Vector3Int(0, 2, 0)));

            Assert.IsTrue(gridBoard.IsCellBlocked(new Vector3Int(-1, -1, 0)));
            Assert.IsTrue(gridBoard.IsCellBlocked(new Vector3Int(0, 0, 0)));
            Assert.IsTrue(gridBoard.IsCellBlocked(new Vector3Int(0, 1, 0)));
            Assert.IsTrue(gridBoard.IsCellBlocked(new Vector3Int(1, 0, 0)));
            Assert.IsTrue(gridBoard.IsCellBlocked(new Vector3Int(1, 1, 0)));
            Assert.IsFalse(gridBoard.IsCellBlocked(new Vector3Int(0, 0, 1)));
            Assert.IsFalse(gridBoard.IsCellBlocked(new Vector3Int(0, 2, 0)));
            Assert.IsFalse(gridBoard.IsCellBlocked(new Vector3Int(2, 0, 0)));

            Assert.IsTrue(gridBoard.IsBlocked(new Rect2Int(new Vector2Int(0, 0), new Vector2Int(1, 2)), 0));
            Assert.IsTrue(gridBoard.IsBlocked(new Rect2Int(new Vector2Int(1, 0), new Vector2Int(2, 1)), 0));
            Assert.IsTrue(gridBoard.IsBlocked(new Rect2Int(new Vector2Int(0, 1), new Vector2Int(1, 1)), 0));
            Assert.IsFalse(gridBoard.IsBlocked(new Rect2Int(new Vector2Int(2, 0), new Vector2Int(1, 1)), 0));
            Assert.IsFalse(gridBoard.IsBlocked(new Rect2Int(new Vector2Int(0, 2), new Vector2Int(1, 1)), 0));

            Rect2Int destTileBounds = gridBoard.DestTileBounds(tile, new Vector3Int(0, 0, 0));

            Assert.AreEqual(0, destTileBounds.position.x);
            Assert.AreEqual(0, destTileBounds.position.y);
            Assert.AreEqual(1, destTileBounds.position.x + destTileBounds.size.x - 1);
            Assert.AreEqual(1, destTileBounds.position.y + destTileBounds.size.y - 1);

            gridBoard.RemoveTile(tile, 0); tile = null;
            Assert.IsFalse(gridBoard.IsCellBlocked(new Vector3Int(0, 0, 0)));
            Assert.IsFalse(gridBoard.IsCellBlocked(new Vector3Int(0, 1, 0)));
            Assert.IsFalse(gridBoard.IsCellBlocked(new Vector3Int(1, 0, 0)));
            Assert.IsFalse(gridBoard.IsCellBlocked(new Vector3Int(1, 1, 0)));
            Assert.IsFalse(gridBoard.IsBlocked(new Rect2Int(new Vector2Int(0, 0), new Vector2Int(1, 1)), 0));
            Assert.IsFalse(gridBoard.IsBlocked(new Rect2Int(new Vector2Int(1, 0), new Vector2Int(2, 1)), 0));
            Assert.IsFalse(gridBoard.IsBlocked(new Rect2Int(new Vector2Int(0, 1), new Vector2Int(1, 2)), 0));
        }