Вопросы по теме 'quickcheck'

Управление генерацией тестовых данных в QuickCheck
Я написал алгоритм, чтобы найти решение проблемы суммы подмножеств в Haskell. Подпись subsetSum :: (Ord a, Num a) => [a] -> a -> Maybe [a] QuickCheck, кажется, подходит для проверки этого. Например, вот одно из свойств, которое я...
4115 просмотров
schedule 03.10.2021

Test.QuickCheck: ускорение тестирования нескольких свойств для одного и того же типа
Я тестирую случайный генератор, генерирующий экземпляры моего собственного типа. Для этого у меня есть собственный экземпляр Arbitrary : complexGenerator :: (RandomGen g) => g -> (MyType, g) instance Arbitrary MyType where arbitrary =...
905 просмотров
schedule 27.11.2021

test-framework / quickcheck / cabal: параметры передачи тестовой функции с помощью 'cabal test'
Я использую cabal для создания и тестирования своих проектов с помощью команд: cabal configure --enable-tests cabal build cabal test В качестве фреймворка я использую тестовый фреймворк ( https://batterseapower.github.io/test-framework/ )....
113 просмотров
schedule 29.10.2021

Сделайте аналогичные свойства QuickCheck DRY
У меня есть несколько свойств QuickCheck , определенных следующим образом: ... prop_scaleData3 d n = n > 1 ⇛ length (scaleData d n) ≡ n prop_scaleData4 d n = n > 1 ⇛ head (scaleData d n) ≡ -d prop_scaleData5 d n = n > 1 ⇛ last...
84 просмотров
schedule 25.11.2021

Как создать содержательные примеры для проверки n-арных свойств с помощью тестирования на основе свойств?
Как вы генерируете тестовые данные для n-мерных свойств отношений, например, транзитивности или симметрии, в настройках тестирования на основе свойств, таких как quickcheck Haskell для пользовательских структур данных? Думаю, язык реализации значения...
63 просмотров

Что не так с моим объявлением типа quickCheck?
Я накручиваю свою собственную elem функцию под названием elem' elem' :: (Eq a) => a -> [a] -> Bool elem' n ys = foldl (\acc p -> if (p == n) then True else False) False ys Кажется, работает, но я хочу быстро проверить это в...
55 просмотров
schedule 25.11.2021

Есть ли хороший способ использовать методы QuickCheck Happstack.State?
У меня есть набор методов Happstack.State MACID, которые я хочу протестировать с помощью QuickCheck, но мне трудно найти самый элегантный способ сделать это. Проблемы, с которыми я сталкиваюсь: Единственный способ оценить вычисление монады Ev...
262 просмотров
schedule 18.02.2022

Как написать тесты с помощью QuickCheck для определения ($)
А также для составления функции. f $ a = f a f . g = \x -> f (g x)
76 просмотров
schedule 02.03.2022

Как исправить неоднозначность произвольного экземпляра типа списка
Учтите следующее: import Test.QuickCheck import Test.QuickCheck.Checkers import Test.QuickCheck.Classes data List a = Nil | Cons a (List a) deriving (Eq, Show) instance Functor List where fmap _ Nil = Nil fmap f (Cons a l) = Cons (f a)...
69 просмотров
schedule 05.03.2022

изоляция теста между запусками гипотезы pytest
Я только что перенес набор тестов pytest с quickcheck на hypothesis . Это сработало довольно хорошо (и сразу же выявило некоторые скрытые ошибки крайнего случая), но одно важное различие, которое я вижу, связано с изоляцией тестов между двумя...
366 просмотров

Haskell quickcheck для создания и тестирования розовых деревьев?
Я пробую простой код розового дерева. data RoseT a = Leaf a | Node a [RoseT a] deriving (Show) instance Eq (RoseT a) where (==) (Leaf a) (Leaf b) = a == b (==) (Node a rs1) (Node b rs2) = and ((a==b): (zipWith (==) rs1 rs2)) (==) _ _ = False...
1622 просмотров
schedule 02.05.2022

Как проверить закон полугруппы для этого типа данных?
Я пытаюсь решить то же упражнение, что и в другом вопросе в главе 15 документа «Программирование на Haskell от первых принципов» . Я уже создал экземпляр Semigroup, и у меня проблемы с написанием части упражнения QuickCheck. Экземпляр Semigroup...
466 просмотров
schedule 30.04.2022

QuickCheck: произвольные экземпляры вложенных структур данных, которые создают сбалансированные образцы
tl; dr: как написать экземпляры Arbitrary , которые не взорвутся, если ваш тип данных допускает слишком большую вложенность? И как вы можете гарантировать, что эти экземпляры будут создавать действительно случайные образцы вашей структуры данных?...
4461 просмотров

Генератор произвольных строк в Haskell (Test.QuickCheck.Gen)
У меня проблемы с Real World Haskell, глава 11 quickCheck реализация генератора для алгебраического типа данных. После реализации книги (которая была опубликована в 2008 году) я придумал следующее: -- file: ch11/Prettify2.hs module...
567 просмотров
schedule 08.05.2022

Почему QuickCheck занимает много времени при тестировании экземпляра Functor с определенной сигнатурой типа?
Я работаю над замечательной Haskell Book . Решая некоторые упражнения, я запустил тест QuickCheck, который длился относительно долго, и я не могу понять, почему. Упражнение, которое я решаю, находится в главе 16. Мне нужно написать Functor...
69 просмотров
schedule 06.05.2022

Как проверить свойства монадического ввода-вывода с помощью delicious-quickcheck?
Как протестировать свойство monadicIO с помощью вкусная-быстрая проверка ? Я попробовал следующее, где testCase работает, как и ожидалось (который исходит от HUnit), но testProperty (из QuickCheck) не компилируется. import Test.Common import...
314 просмотров
schedule 03.06.2022

Тест Haskell QuickCheck не работает должным образом при запуске с Cabal
Что-то не имело смысла с пакетом Cabal, который я разрабатывал, и я свел проблему к следующему примеру: У меня есть следующий простой тестовый модуль: module Main where import Test.QuickCheck (quickCheck) main = quickCheck False И...
1060 просмотров
schedule 11.06.2022

Как написать функцию для запуска quickCheck prop_xxx?
Я использую QuickCheck v1. Вот простой prop_xxx, определенный как показано ниже: prop_foo :: (Num a) =>[a] -> Bool prop_foo xs = (reverse.reverse) xs == id xs Это можно правильно протестировать в GHCI: quickCheck prop_foo Однако,...
240 просмотров
schedule 24.07.2022

Существует ли монадическая версия Arbitrary для использования с QuickCheck?
Когда я хочу протестировать чистый код, используя QuickCheck , мне часто приходится писать экземпляр Arbitrary . Чтобы протестировать монадический код, я могу использовать Test.QuickCheck.Monadic , как описано в этой статье . . Мой вопрос :...
412 просмотров

Ошибка Clang при установке QuickCheck для GHC 7.8.3 в OS X Yosemite 10.10 (14A389)
При установке QuickCheck для Haskell GHC 7.8.3 в системе OS X Yosemite 10.10 (14A389), работающей на Mac Pro 2013 с Xcode 6.1 (6A1052d), я сталкиваюсь со следующей ошибкой clang: $ cabal install QuickCheck Resolving dependencies......
598 просмотров
schedule 01.09.2022