При использовании test.check Мне нужен генератор для строк определенной длины. Номера телефонов, почтовые индексы, номера социального страхования - все это примеры такого типа данных. Хотя примеры, по-видимому, являются только номерами, мой вопрос касается строк в целом.test.check генерировать строки определенной длины
ответ
Учитывая length
ниже генератор генерирует случайные строки:
(gen/fmap #(apply str %)
(gen/vector gen/char-alpha length))
(gen/vector gen/char-alpha length)
генерирует последовательности символов и fmap
преобразует их в строки:
(apply str [\a \b]) ;; => "ab"
Если пользовательский alphabet
(скажем [\a \b \c]
) необходим gen/char-alpha
может быть заменен чем-то вроде:
(gen/elements alphabet)
Для более сложных генераторов, как отформатированных телефонных номеров, test.chuck «s string-from-regex
может быть лучшим выбором, чем вручную объединения официальных генераторов.
Эта функция генерирует строку заданной длины с символами из заданного алфавита (необязательно). Если вы не передадите какой-либо алфавит в качестве аргумента, будет использоваться значение по умолчанию, которое вы, конечно, можете изменить.
(defn generate-string
([length]
(generate-string length
(map char (range 49 127))))
([length alphabet]
(apply str (take length (repeatedly #(rand-nth alphabet))))))
Примеры:
(generate-string 7 [\a \b \c])
"bacacbb"
(generate-string 10)
"mxqE<OKH3L"
Хотя это хороший пример создания строк, это не генератор test.check. –
- 1. Хэш строки определенной длины
- 2. test.check генерировать дерево с разными типами узлов
- 3. Получение строки до определенной длины.
- 4. Как генерировать лексикографические строки заданной длины?
- 5. Создание всех перестановок определенной длины
- 6. Как заставить OTTER генерировать все тавтологии определенной длины?
- 7. фильтрации строки определенной длины из файла
- 8. Извлечь номера определенной длины из строки
- 9. Быстрое форматирование строки до определенной длины
- 10. perl Regex заменить для определенной длины строки
- 11. PHP Недостающих после определенной строки для определенной длины
- 12. Генерация сортируются данные с test.check
- 13. Как генерировать случайные строки текста определенной длины из словаря слов (проблема с упаковкой)?
- 14. Создание набора результатов определенной длины
- 15. Класс векторов определенной длины
- 16. Удаление символов определенной длины
- 17. Замените строку определенной длины
- 18. Только сюжетные линии определенной длины
- 19. Regex соответствует цифрам определенной длины
- 20. Функциональный генератор в test.check
- 21. Regex соответствует определенной группе цифр определенной длины?
- 22. Увеличение UITextField до определенной длины
- 23. Loops & state management in test.check
- 24. Каков наилучший способ рекурсивно генерировать все двоичные строки длины n?
- 25. Kibana запрос длины строки
- 26. Android: нарисуйте линию определенной длины
- 27. Повторить строку до определенной длины
- 28. удалить URL-адрес определенной длины
- 29. Определить количество пробегов определенной длины
- 30. Отрежьте строку после определенной длины
Спасибо за указание test.chuck, у которого есть это и другие хорошие функции. –
@MSmith Мне особенно нравится «проверка» ('test' для генеративных) – muhuk