Ejemplo n.º 1
0
        public void TestGameRule_DiscardCardSuccessDrawCard()
        {
            var           player   = new Mock <IHanabiPlayer>();
            CardIdType    id       = new CardIdType(0);
            CardIndexType index    = new CardIndexType(0);
            Card          card     = new Card(id, index, CardColorType.Blue, CardValueType.Value1);
            HandCard      handCard = new HandCard(card);

            player.Setup(x => x.GetHandCard(index)).Returns(handCard);
            player.Setup(x => x.PlayCard(index));

            var           board    = new Mock <IGameBoard>();
            CardIdType    newId    = new CardIdType(1);
            CardIndexType newIndex = new CardIndexType(1);
            Card          newCard  = new Card(newId, newIndex, CardColorType.Blue, CardValueType.Value1);

            board.Setup(x => x.Draw()).Returns(newCard);
            board.Setup(x => x.Discard(handCard.card));
            board.Setup(x => x.Reward());

            GameRule rule = new GameRule();

            Debug.Assert(rule.DiscardCard(index, player.Object, board.Object) == DiscardResult.Success);

            player.VerifyAll();
            board.VerifyAll();
        }
Ejemplo n.º 2
0
        public void TestGameRule_DiscardCardFailed()
        {
            var           player = new Mock <IHanabiPlayer>();
            CardIndexType index  = new CardIndexType(0);

            player.Setup(x => x.GetHandCard(index)).Returns <Card>(null);

            var board = new Mock <IGameBoard>();

            GameRule rule = new GameRule();

            Debug.Assert(rule.DiscardCard(index, player.Object, board.Object) == DiscardResult.InvalidCardIndex);

            player.VerifyAll();
            board.VerifyAll();
        }