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);
        }
        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);
        }
Exemple #3
0
 public void Construct(int maximumPiecesToPlace, WinEventController winEventController)
 {
     correctlyPositionedPieces = new List <PiecePlaceInGrid>();
     winController             = new WinControllerImplementation(correctlyPositionedPieces, winEventController, maximumPiecesToPlace);
 }
 private WinController CreateWinController(List <PiecePlaceInGrid> correctlyPositionedPieces, WinEventController winEventController, int maximumPiecesToPlace)
 {
     return(new WinControllerImplementation(correctlyPositionedPieces, winEventController, maximumPiecesToPlace));
 }
Exemple #5
0
 public WinControllerImplementation(List <PiecePlaceInGrid> correctlyPositionedPieces, WinEventController winEventController, int maximumPiecesToPlace)
 {
     this.correctlyPositionedPieces = correctlyPositionedPieces;
     this.winEventController        = winEventController;
     this.maximumPiecesToPlace      = maximumPiecesToPlace;
 }
        private WinController CreateWinController(List <PiecePlaceInGrid> correctlyPositionedPieces)
        {
            WinEventController winEventController = CreateWinEventController();

            return(new WinControllerImplementation(correctlyPositionedPieces, winEventController, 2));
        }