Exemple #1
0
        public void PickProcessor_PlayNonHumanPickTurns_PlayTillHumanTurn()
        {
            var handMock = new Mock <IHand>();

            var refusingPlayers = new List <IPlayer>()
            {
                new Mock <IComputerPlayer>().Object,
                new Mock <IHumanPlayer>().Object
            };
            var refusingPlayersOrig = refusingPlayers.ToList();

            handMock.SetupGet(m => m.PlayersRefusingPick).Returns(refusingPlayers);
            handMock.Setup(m => m.PlayerWontPick(It.IsAny <IPlayer>())).Callback((IPlayer p) => refusingPlayers.Add(p));

            var unplayedPlayersOrig = new List <IPlayer>()
            {
                new ComputerPlayerPickingMock(false),
                new ComputerPlayerPickingMock(false),
                new Mock <IHumanPlayer>().Object
            };
            var unplayedPlayers = unplayedPlayersOrig.ToList();

            handMock.SetupGet(m => m.PlayersWithoutPickTurn).Returns(unplayedPlayers);

            var pickProcessor = new PickProcessor();
            var picker        = pickProcessor.PlayNonHumanPickTurns(handMock.Object);

            Assert.IsNull(picker);
            Assert.AreEqual(4, refusingPlayers.Count);
            Assert.AreSame(refusingPlayersOrig[0], refusingPlayers[0]);
            Assert.AreSame(refusingPlayersOrig[1], refusingPlayers[1]);
            Assert.AreSame(unplayedPlayersOrig[0], refusingPlayers[2]);
            Assert.AreSame(unplayedPlayersOrig[1], refusingPlayers[3]);
        }
Exemple #2
0
        public void PickProcessor_PlayNonHumanPickTurns_NextPlayerIsHuman()
        {
            var handMock = new Mock <IHand>();

            var refusingPlayers = new List <IPlayer>()
            {
                new Mock <IComputerPlayer>().Object,
                new Mock <IHumanPlayer>().Object
            };
            var refusingPlayersOrig = refusingPlayers.ToList();

            handMock.SetupGet(m => m.PlayersRefusingPick).Returns(refusingPlayers);

            var unplayedPlayersOrig = new List <IPlayer>()
            {
                new Mock <IHumanPlayer>().Object,
                new ComputerPlayerPickingMock(false),
                new ComputerPlayerPickingMock(false)
            };
            var unplayedPlayers = unplayedPlayersOrig.ToList();

            handMock.SetupGet(m => m.PlayersWithoutPickTurn).Returns(unplayedPlayers);

            var pickProcessor = new PickProcessor();
            var picker        = pickProcessor.PlayNonHumanPickTurns(handMock.Object);

            Assert.IsNull(picker);
            Assert.AreEqual(2, refusingPlayers.Count);
            Assert.AreSame(refusingPlayersOrig[0], refusingPlayers[0]);
            Assert.AreSame(refusingPlayersOrig[1], refusingPlayers[1]);
        }
Exemple #3
0
        public void PickProcessor_AcceptComputerPicker()
        {
            var players = new List <IPlayer>()
            {
                new ComputerPlayerPickingMock(false),
                new ComputerPlayerPickingMock(false),
                new ComputerPlayerPickingMock(true),
                new ComputerPlayerPickingMock(false),
                new ComputerPlayerPickingMock(false),
            };
            var playersWithoutTurn = players.ToList();
            var expectedPicker     = players[2];
            var handMock           = new Mock <IHand>();

            handMock.Setup(m => m.Players).Returns(players);
            handMock.SetupGet(m => m.PlayersWithoutPickTurn).Returns(playersWithoutTurn);
            handMock.SetupGet(m => m.PlayersRefusingPick).Returns(new List <IPlayer>());
            handMock.Setup(m => m.IGame.PartnerMethodEnum);

            var pickProcessor = new PickProcessor();
            var picker        = pickProcessor.PlayNonHumanPickTurns(handMock.Object);

            Assert.AreSame(players[2], picker);
        }