public void IfCardIsDrawnCountDecreases() { var cards = GetCards(10); var deck = new Trekstapel(cards); deck.TryDraw(out _); Assert.AreEqual(9, deck.Count); deck.TryDraw(out _); Assert.AreEqual(8, deck.Count); }
public void TryDrawReturnsFalseIfAflegstapelIsEmpty() { var cards = GetCards(0); var deck = new Trekstapel(cards); Assert.IsFalse(deck.TryDraw(out _)); }
public void TryDrawReturnsTrueIfCardIsDrawn() { var cards = GetCards(1); var deck = new Trekstapel(cards); Assert.IsTrue(deck.TryDraw(out _)); }
public void DeckGeeftKaartenTerugInVolgordeVanAanleveren() { var cards = GetCards(10); var deck = new Trekstapel(cards); deck.TryDraw(out var drawnCard); Assert.IsTrue(ReferenceEquals(cards[0], drawnCard)); deck.TryDraw(out drawnCard); Assert.IsTrue(ReferenceEquals(cards[1], drawnCard)); }
public void TrekstapelDoesNotFireTrekstapelEmptiedEventWhenDeckIsAlreadyEmpty() { var deck = new Trekstapel(GetCards(0)); AssertExtension.DoesNotTriggerEvent(x => deck.TrekstapelEmptied += x, () => deck.TryDraw(out _)); }
public void TrekstapelDoesNotFireTrekstapelEmptiedEventWhenCardIsDrawnWithMoreCardsLeft() { var deck = new Trekstapel(GetCards(2)); AssertExtension.DoesNotTriggerEvent(x => deck.TrekstapelEmptied += x, () => deck.TryDraw(out _)); }
public void TrekstapelFiresTrekstapelEmptiedEventWhenLastCardIsDrawn() { var deck = new Trekstapel(GetCards(1)); AssertExtension.TriggersEvent(x => deck.TrekstapelEmptied += x, () => deck.TryDraw(out _)); }