public void deck_has_duplicate_cards() { IDeck d = new Deck(); bool hasDuplicateBefore = d.HasDuplicateCards(); ICard duplicate = d.PeekCard(42).Clone(); d.AddCardToEnd(duplicate); bool hasDuplicateAfter = d.HasDuplicateCards(); Assert.IsFalse(hasDuplicateBefore); Assert.IsTrue(hasDuplicateAfter); }
public void deal_until_deck_is_empty_returns_all_cards_without_duplication() { IDeck freshDeck = new Deck(); IDeck testDeck = new Deck(true); ICard card; do { try { card = freshDeck.DealTopCard(); testDeck.AddCardToEnd(card); } catch (DeckException ex) { card = null; } } while (card != null); Assert.IsFalse(freshDeck.HasDuplicateCards(), "The initial deck must have no duplicates"); Assert.IsFalse(testDeck.HasDuplicateCards(), "Duplicate cards found"); }