public void TestFailingNewPiece() { var boardContent = new BoardContentMockup(new bool[, ] { { true } }); var board = new Board(boardContent, PiecesMockup.SinglePixelGenerator); board.NewPiece(); }
public void TestMergeException() { var boardContent = new BoardContentMockup(new bool[, ] { { true } }); var board = new Board(boardContent, PiecesMockup.SinglePixelGenerator); board.NewPiece(); board.MergeCurrentPieceIntoBoardContent(); }
public void TestFailingCanMerge() { var boardContent = new BoardContentMockup(new bool[, ] { { true } }); var board = new Board(boardContent); Assert.IsFalse(board.CanMergePatternIntoBoardContent(0, 0, PiecesMockup.SinglePixel)); Assert.IsFalse(board.TryMergingPatternIntoBoardContent(0, 0, PiecesMockup.SinglePixel)); }
public void TestFailingRotationOutsideBounds() { var boardContent = new BoardContentMockup(new bool[, ] { { false, false, false }, { false, false, false } }); var board = new Board(boardContent, () => new Piece(ConsoleColor.White, PiecesMockup.LBar)); board.NewPiece(); Assert.IsFalse(board.TryRotatePiece(RotationDirection.Clockwise)); }
public void TestDroppingPieceEmptyBoard() { var boardContent = new BoardContentMockup(new bool[, ] { { false }, { false } }); var board = new Board(boardContent, PiecesMockup.SinglePixelGenerator); board.NewPiece(); board.DropPiece(); Assert.AreEqual(1, board.CurrentRow); }
public void TestSuccessfulCanMerge() { var boardContent = new BoardContentMockup(new bool[, ] { { false } }); var board = new Board(boardContent); Assert.IsTrue(board.CanMergePatternIntoBoardContent(0, 0, PiecesMockup.SinglePixel)); Assert.IsTrue(board.TryMergingPatternIntoBoardContent(0, 0, PiecesMockup.SinglePixel)); Assert.IsTrue(boardContent.Content[0, 0]); }
public void TestFailingMovesOutsideBounds() { var boardContent = new BoardContentMockup(new bool[, ] { { false } }); var board = new Board(boardContent, PiecesMockup.SinglePixelGenerator); board.NewPiece(); Assert.IsFalse(board.IsMovePossible(Direction.Down)); Assert.IsFalse(board.IsMovePossible(Direction.Left)); Assert.IsFalse(board.IsMovePossible(Direction.Right)); }
public void TestSuccessfulNewPiece() { var boardContent = new BoardContentMockup(new bool[, ] { { false, false, false }, { false, false, false } }); var board = new Board(boardContent, PiecesMockup.SinglePixelGenerator); board.NewPiece(); Assert.IsNotNull(board.CurrentPiece); Assert.IsNotNull(board.NextPiece); Assert.AreEqual(1, board.CurrentCol); Assert.AreEqual(0, board.CurrentRow); }
public void TestSuccessfulMoves() { var boardContent = new BoardContentMockup(new bool[, ] { { false, false, false }, { false, false, false } }); var board = new Board(boardContent, PiecesMockup.SinglePixelGenerator); board.NewPiece(); Assert.IsTrue(board.IsMovePossible(Direction.Down)); Assert.IsTrue(board.IsMovePossible(Direction.Left)); Assert.IsTrue(board.IsMovePossible(Direction.Right)); Assert.IsTrue(board.TryMove(Direction.Down)); Assert.AreEqual(board.CurrentRow, 1); Assert.IsTrue(board.TryMove(Direction.Left)); Assert.AreEqual(board.CurrentCol, 0); Assert.IsTrue(board.TryMove(Direction.Right)); Assert.AreEqual(board.CurrentRow, 1); }
public void TestSuccessfulRotation() { var boardContent = new BoardContentMockup(new bool[, ] { { false, false, false }, { false, false, false }, { false, false, false } }); var board = new Board(boardContent, () => new Piece(ConsoleColor.White, PiecesMockup.LBar)); board.NewPiece(); Assert.IsTrue(board.TryRotatePiece(RotationDirection.Clockwise)); Assert.AreEqual(0, board.CurrentCol); foreach (var item in board.CurrentPiece.Pattern.ToEnumerable()) { Assert.AreEqual(item.val, PiecesMockup.LBarClockwiseRotated[item.row, item.col]); } // Rotate back Assert.IsTrue(board.TryRotatePiece(RotationDirection.CounterClockwise)); Assert.AreEqual(0, board.CurrentCol); foreach (var item in board.CurrentPiece.Pattern.ToEnumerable()) { Assert.AreEqual(item.val, PiecesMockup.LBar[item.row, item.col]); } }