public void ShuffleIntegrityTest() { var cardType = new MockCardType(); var collection = new MockCardCollection(); var card1 = new MockCard(cardType, collection); var card2 = new MockCard(cardType, collection); var card3 = new MockCard(cardType, collection); collection.Shuffle(); var cards = new List <MockCard>(new[] { card1, card2, card3 }); foreach (MockCard card in collection.Cards) { Assert.Contains(card, cards); cards.Remove(card); } Assert.Empty(cards); }
public void ShuffleTest() { var registry = new Registry(); var cardType = new MockCardType(registry); var collection = new MockCardCollection(); var card1 = new Card(cardType, collection); var card2 = new Card(cardType, collection); var card3 = new Card(cardType, collection); var card4 = new Card(cardType, collection); var card5 = new Card(cardType, collection); var cards = new List <Card>(new Card[] { card1, card2, card3, card4, card5 }); var cardsTest = new List <Card>(); int differents = 0; // Anzahl Unterschiede zu Original Liste double mischGrad = 0.5; // Bestimmen wie viel Karten unterschiedlich sein sollen int minDiff = Convert.ToInt32(Math.Round(cards.Count * mischGrad)); collection.AddCard(card1); collection.AddCard(card2); collection.AddCard(card3); collection.AddCard(card4); collection.AddCard(card5); collection.Shuffle(); // Karten Liste der gemischten Collection foreach (Card card in collection.Cards) { cardsTest.Add(card); } // Gemischte Karten Liste und Original Liste vergleichen for (int i = 0; i < cards.Count; i++) { if (cards[i] != cardsTest[i]) { differents += 1; } } Assert.True(differents >= minDiff); }