Ejemplo n.º 1
0
        public void TestFailingNewPiece()
        {
            var boardContent = new BoardContentMockup(new bool[, ] {
                { true }
            });
            var board = new Board(boardContent, PiecesMockup.SinglePixelGenerator);

            board.NewPiece();
        }
Ejemplo n.º 2
0
        public void TestMergeException()
        {
            var boardContent = new BoardContentMockup(new bool[, ] {
                { true }
            });
            var board = new Board(boardContent, PiecesMockup.SinglePixelGenerator);

            board.NewPiece();
            board.MergeCurrentPieceIntoBoardContent();
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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]);
        }
Ejemplo n.º 7
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));
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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]);
            }
        }