aboutsummaryrefslogtreecommitdiff
path: root/src/Board/Board.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/Board/Board.test.ts')
-rw-r--r--src/Board/Board.test.ts28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/Board/Board.test.ts b/src/Board/Board.test.ts
index 7e99581..349a4aa 100644
--- a/src/Board/Board.test.ts
+++ b/src/Board/Board.test.ts
@@ -1,9 +1,10 @@
import assert from 'assert';
-import Tile, { Feature } from '../Tile/Tile';
+import Tile, { Feature, Direction } from '../Tile/Tile';
import TileOnBoard from '../Tile/TileOnBoard';
import Board from './Board';
const { Road, Town, Grass } = Feature;
+const { North } = Direction;
describe('Board', () => {
describe('constructor', () => {
@@ -28,4 +29,29 @@ describe('Board', () => {
assert.deepStrictEqual(legalMoves[3], { side: 2, rotation: 2, attachTo, tile });
});
});
+
+ describe('attach', () => {
+ it('Should push new tile to the list and assign correct coordinates', () => {
+ const board = new Board();
+
+ const attachment = {
+ tile: new Tile(Town, [Grass, Town, Grass, Town]),
+ attachTo: board.tiles[0],
+ orientation: 0,
+ side: North,
+ };
+
+ const expectedTileOnBoard = new TileOnBoard(
+ Town,
+ [Grass, Town, Grass, Town],
+ false,
+ { x: 0, y: 1 },
+ 0
+ );
+
+ board.attach(attachment);
+ assert.strictEqual(board.tiles.length, 2);
+ assert.deepStrictEqual(board.tiles[1], expectedTileOnBoard);
+ });
+ });
});