Я использую Triq (erlang quickcheck), и у меня возникают проблемы с созданием набора nice правил для моей программы.Создание случайного правила для теста на основе свойств
То, что я хочу, чтобы создать вещи, которые выглядят следующим образом:
A -> B
, где я хотел бы предоставить A
и размер B
, с последними не имея какое-либо dupicates.
Например, если я говорю, создайте мне правила с L.H.S. от [a]
и R.H.S. размер 4 (т. е A = [a]
и size(B) = 4
) Я хотел бы получить что-то вроде этого:
{rule, [a], [1,2,4,5]}
{rule, [a], [a,d,c,e]}
{rule, [a], [q,d,3,4]}
Примечание, я не хочу любые dupicates в B (это часть у меня возникают проблемы с). Кроме того, на самом деле не имеет значения, что B составлено из - оно может быть чем угодно, если оно отличается и без дубликатов.
Мои спецификации слишком запутаны, чтобы показать здесь, поэтому я бы предпочел.
Спасибо, только один вопрос: почему мы формируем в 3 раза больше? Является ли номер три особенным, или вы имеете в виду, что нам просто нужно генерировать больше, чем нужно? – drozzy
Нет, это не так, просто «гарантирует», что после удаления дубликатов останется достаточно четких элементов. – aronisstav
Будете ли это _lould_ генерировать что-то? – drozzy