Я должен проверить и посмотреть, перетасовал ли этот метод колоду карт. Здесь, если код для фактической части перетасовки.
public void randomShuffle () {
for (int i = 0; i < DECK_SIZE; i++) {
int place = (int)((Math.random()*(51-i))+i);
Card temp = this.cardAt(i);
this.cardList[i] = this.cardAt(place);
this.cardList[place] = temp;
}
}
Проблема с проверкой того, была ли она перетасована, заключается в том, что я мог поменять местами только две карты, и она считалась бы перетасованной. Вот что у меня есть для теста случайного перемешивания.
static void randomShuffleTest () {
Deck deck1 = Deck.newDeckOf52();
Deck deck2 = Deck.newDeckOf52();
deck2.randomShuffle();
assert false == deck1.equals(deck2);
}
Итак, мой вопрос: как мне проверить, достаточно ли что-то перетасовано?