Esempio n. 1
0
        public void DrawACard_EmptyHandNonemptyLibrary_CardsInHand()
        {
            bool cardDrawnEventTriggered = false;

            GameLibrary lib = new GameLibrary();
            SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>();
            cards.AddFirst(new MockCardWithData(42));
            lib.Add(cards);
            Hand h = new Hand();
            Player p = new Player(lib, h,null,null);
            p.EventManager = this.EventManager;
            this.EventManager.Register(new Trigger<CardDrawnEvent>(_ => cardDrawnEventTriggered = true));
            Engine.AddActor(p);
            p.Draw(1);
            GameCard c = p.Hand.TakeCards(1)[0];
            Assert.IsTrue(cardDrawnEventTriggered);
            Assert.IsTrue(lib.IsEmpty());
            Assert.IsTrue(((MockCardWithData)c).data == 42);
        }