Beispiel #1
0
        public void ReleaseTetrimino_TerminoPlaced_RemoveTetriminoButKeepBlocks()
        {
            Block[]   blocks    = { new Block(), new Block() };
            Tetrimino tetrimino = new Tetrimino(Direction.UP, blocks);

            _tetrisBoard.AddTetriminoAt(tetrimino, new Point(2, 2));

            _tetrisBoard.ReleaseTetrimino(tetrimino);

            Assert.Empty(_tetrisBoard.AllTetriminos());
            Assert.Null(_tetrisBoard.TetriminoPoint(tetrimino));
            Assert.Equal(2, _tetrisBoard.AllBlocks().Length);
            Assert.Equal(blocks[1], _tetrisBoard.BlockAt(new Point(2, 2)));
            Assert.Equal(blocks[0], _tetrisBoard.BlockAt(new Point(2, 1)));
        }