Вопросы по теме '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 просмотров
schedule
21.11.2021
Что не так с моим объявлением типа 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 просмотров
schedule
05.04.2022
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 просмотров
schedule
11.05.2022
Генератор произвольных строк в 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 просмотров
schedule
22.08.2022
Ошибка 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