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); }