У меня есть следующий метод
def select_random(mylist, excluding_this_one)
return mylist.sample
end
В настоящее время он сломан. Существует вероятность того, что при вводе [5,8,6], 8
он выберет вариант 2. Я бы хотел, чтобы он выбирал только случайный элемент, который не равен 8 (то есть 6 или 5).
Я в настоящее время пытаюсь написать тест, чтобы убедиться, что это произойдет. Но, учитывая, что вывод select_random
не является детерминированным c, у меня нет возможности проверить, что он никогда не вернется 8.
Мой вопрос заключается в том, что я могу сделать, чтобы мой метод select_random
никогда не вернется 8?
Единственный способ, которым я думал о том, где я могу проверить это с достаточной точностью, - это просто повторить вызов метода много раз в тесте и убедиться, что он никогда не вернет результат, который я не получаю. не хочу Однако это выглядит очень «грязно» и технически не гарантирует, что метод работает.