Esempio n. 1
0
 public void Discard_CardInHand_CardOnBottomOfLibrary()
 {
     bool cardDiscardedEventTriggered = false;
     GameLibrary lib = new GameLibrary();
     SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>();
     for (int i = 0; i < 29; i++)
         cards.AddFirst(new MockCard());
     lib.Add(cards);
     Hand h = new Hand();
     cards = new SelectableLinkedList<GameCard>();
     cards.AddFirst(new MockCardWithData(42));
     h.Add(cards);
     Player p = new Player(lib, h, null,null);
     p.EventManager = this.EventManager;
     this.EventManager.Register(new Trigger<CardDiscardedEvent>(_ => cardDiscardedEventTriggered = true));
     Engine.AddActor(lib);
     p.Discard(0);
     GameCard c = p.Library.TakeCardAt(29);
     Assert.IsTrue(cardDiscardedEventTriggered);
     Assert.IsTrue(((MockCardWithData)c).data == 42);
 }