コード例 #1
0
        public void WhenNotAllPiecesAreInCorretPlaceWinEventIsNotTriggered()
        {
            int maximumPiecesToPlace = 2;
            List <PiecePlaceInGrid> correctlyPositionedPieces = CreateCorrectPositionedPieceList();
            WinEventController      winEventController        = CreateWinEventController();
            WinController           winController             = CreateWinController(correctlyPositionedPieces, winEventController, maximumPiecesToPlace);
            PiecePlaceInGrid        firstPiece = CreatePiecePlaceInGrid();
            bool wasEventTriggered             = false;

            winEventController.AddListener(() => wasEventTriggered = true);
            winController.AddCorrectlyPositionedPiece(firstPiece);

            Assert.IsFalse(wasEventTriggered);
        }
コード例 #2
0
        public void PieceIsAddedToWinController()
        {
            int piecePlaceInGrid = 2;

            (pieceDataSorter as StubPieceDataSorter).pieceData = new StubPieceData(piecePlaceInGrid);
            int maximumPiecesToPlace = 1;
            WinEventController      winEventController        = CreateWinEventController();
            List <PiecePlaceInGrid> correctlyPositionedPieces = new List <PiecePlaceInGrid>();
            WinController           winController             = CreateWinController(correctlyPositionedPieces, winEventController, maximumPiecesToPlace);
            EmptyState emptyState = CreateEmptyState();
            PieceDestinationController movableSlot = CreateSlot(winController, 1, 0, 1);
            PieceDestinationController emptySlot   = CreateSlot(winController, 2, 0, 2);
            bool wasEventTriggered = false;

            winEventController.AddListener(() => wasEventTriggered = true);

            emptyState.ReceivePiece(emptySlot, movableSlot);

            Assert.IsTrue(wasEventTriggered);
        }