public void DrawCard_NonemptyLibrary_CardReturned() { SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>(); for (int i = 0; i < 29; i++) cards.AddFirst(new MockCard()); cards.AddFirst(new MockCardWithData(42)); GameLibrary lib = ConstructLibrary(); lib.Add(cards); GameCard card = lib.Draw(); Assert.IsTrue(((MockCardWithData)card).data == 42); }
public void DrawMultipleCards_NonemptyLibrary_CardsReturned() { SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>(); for (int i = 0; i < 28; i++) cards.AddFirst(new MockCard()); cards.AddFirst(new MockCardWithData(42)); cards.AddFirst(new MockCardWithData(42)); GameLibrary lib = ConstructLibrary(); lib.Add(cards); List<GameCard> returnedCards = lib.Draw(2); foreach (GameCard card in returnedCards) Assert.IsTrue(((MockCardWithData)card).data == 42); }
public void DrawCard_NonemptyLibrary_CardReturned() { SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>(); for (int i = 0; i < 29; i++) { cards.AddFirst(new MockCard()); } cards.AddFirst(new MockCardWithData(42)); GameLibrary lib = ConstructLibrary(); lib.Add(cards); GameCard card = lib.Draw(); Assert.IsTrue(((MockCardWithData)card).data == 42); }
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); }
public void PutCardOnBottom_OrderedLibrary_CardOnBottom() { SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>(); for (int i = 0; i < 29; i++) cards.AddFirst(new MockCard()); GameLibrary lib = new GameLibrary(); lib.Add(cards); lib.AddBottom(new MockCardWithData(42)); lib.TakeCards(29); Assert.IsTrue(((MockCardWithData)lib.TakeCards(1)[0]).data == 42); }
public void PutCardAtPosition_NonemptyLibrary_CardAtPosition() { SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>(); for (int i = 0; i < 29; i++) cards.AddFirst(new MockCard()); GameLibrary lib = new GameLibrary(); lib.Add(cards); lib.AddAt(new MockCardWithData(42), 10); lib.TakeCards(9); Assert.IsTrue(((MockCardWithData)lib.TakeCards(1)[0]).data == 42); }
public void DrawMultipleCards_NonemptyLibrary_CardsReturned() { SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>(); for (int i = 0; i < 28; i++) { cards.AddFirst(new MockCard()); } cards.AddFirst(new MockCardWithData(42)); cards.AddFirst(new MockCardWithData(42)); GameLibrary lib = ConstructLibrary(); lib.Add(cards); List <GameCard> returnedCards = lib.Draw(2); foreach (GameCard card in returnedCards) { Assert.IsTrue(((MockCardWithData)card).data == 42); } }
public void PutCardOnBottom_OrderedLibrary_CardOnBottom() { SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>(); for (int i = 0; i < 29; i++) { cards.AddFirst(new MockCard()); } GameLibrary lib = new GameLibrary(); lib.Add(cards); lib.AddBottom(new MockCardWithData(42)); lib.TakeCards(29); Assert.IsTrue(((MockCardWithData)lib.TakeCards(1)[0]).data == 42); }
public void PutCardAtPosition_NonemptyLibrary_CardAtPosition() { SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>(); for (int i = 0; i < 29; i++) { cards.AddFirst(new MockCard()); } GameLibrary lib = new GameLibrary(); lib.Add(cards); lib.AddAt(new MockCardWithData(42), 10); lib.TakeCards(9); Assert.IsTrue(((MockCardWithData)lib.TakeCards(1)[0]).data == 42); }
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); }
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); }
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); }