Лучший способ проверить это - это протестировать 1000 раз или около того и записывать каждый раз, когда тест проходит успешно.В конечном итоге вы действительно хотите знать, что тест работает 98-99% времени, поэтому, если результат составляет ~ 99% +/- 1%, вы должны быть хорошими, и тест всегда должен проходить.
- перетасованная рука не должна совпадать с оригинальной.
- длина обеих должна быть одинаковой.
- сумма всех карточек должна быть одинаковой (или похожей)
пример кода в swift:
func testShuffled() {
var hand1 = [3,4,5,6,7,1,2,8,9,10,11,12,2,3,4,5,6,7,8,9,10,11,12]
var count = 0
for _ in 0..<1000 {
let hand2 = hand1.shuffled()
if (hand1 != hand2 && hand1.count == hand2.count &&
hand1.reduce(0, combine: +) == hand2.reduce(0, combine: +)) {
count += 1
}
hand1 = hand2
}
let result = Double(count) / 1000.00
XCTAssertEqualWithAccuracy(result, 1, accuracy: 0.02)
}