quickcheck

    1热度

    1回答

    我正在努力Real World Haskell Chapter 11quickCheck代数数据类型的生成器实现。 继书执行(这是2008年出版),我想出了以下内容: -- file: ch11/Prettify2.hs module Prettify2( Doc(..) ) where data Doc = Empty | Char Char | Text

    1热度

    1回答

    我刚将一个pytest测试套件从quickcheck迁移到hypothesis。这工作得很好(并立即发现了一些隐藏的边缘案例错误),但我看到的一个主要区别与两个物业经理之间的测试隔离有关。 quickcheck似乎只是用不同的参数值多次运行测试函数,每次运行我的函数范围的灯具。这也导致pytest的输出中有更多的点。 hypothesis然而,似乎多次运行测试函数的主体,这意味着例如单个运行之间没

    2热度

    1回答

    我是Haskell的新手,我正在尝试编写一个测试用例来证明Semigroup typeclass的关联定律。 数据类型定义如下: newtype Combine a b = Combine {unCombine :: (a -> b)} 如随后半群的实施: instance (Semigroup b) => Semigroup (Combine a b) where (Combine

    2热度

    1回答

    我有这种类型的包装功能 newtype Transaction d e r = Transaction (d -> Either e (d,r)) ...我想为它的函子&应用型实例做快速检查测试,但编译器抱怨说,它不具有任意实例。 我试图这样做,但我坚持生成随机函数。 谢谢! 的快速检查属性这样 type IdProperty f a = f a -> Bool functorIdProp

    1热度

    1回答

    作为练习,我想快速检查应用型的同态属性: 纯˚F< *>纯X =纯(FX) 当我尝试写的财产一般使用幻像类型的方式,我似乎遇到了无穷的'无法推断'错误。在这一点上,我已经添加了许多类型的注释到我的代码中,但仍然遇到了这些错误。 我的代码是: {-# LANGUAGE ViewPatterns #-} import Test.QuickCheck (quickCheck) import Tes

    2热度

    1回答

    编写StateT测试的StateT是Control.Monad.Trans.State.Lazy 内部的功能和m是更高kinded使得它很难 {-# LANGUAGE FlexibleContexts #-} import Test.QuickCheck newtype StateT s m a = StateT { runStateT :: s -> m (a,s) } instance

    2热度

    1回答

    我是Scala的新手,我正在编写我的第一个Scalacheck套件。 我在我的节目,基本上看起来像这是良好的形成仅当_1每个元素是严格小于的_2相应元素更高的(List[Double], List[Double])的数据结构。因为它在实践中稍微复杂一些(尽管为了这个MWE的目的我们可以假装它有所有这些),我已经为它写了一个定制的发生器。 然后我加了两个平凡的测试(包括最微不足道的是,1 == 1)

    0热度

    1回答

    我想在测试如果麦克劳林系列等于1/x,为x>1和x<2功能使用快速检查。然而,对于N的较小值,快速检查返回false测试。此外,如果我将n>100限制,例如,quickcheck返回: “大功告成!只通过0次测试”。 这里是我的代码:(inv x n是计算麦克劳林系列的功能) prop_inv :: Float -> Int -> Property prop_inv x n = (x>1 &&

    1热度

    1回答

    如何测试与tasty-quickcheck monadicIO属性?我尝试了以下方法,其中testCase按预期工作(来自HUnit),但testProperty(来自QuickCheck)未编译。 import Test.Common import Models.Client as Client import Foundation import Test.Foundation.Types(

    2热度

    2回答

    语境 我有以下功能: prop_SignAndVerify :: (PrivKey a b) => Blind a -> BS.ByteString -> Bool prop_SignAndVerify bsk msg = case verify pk msg sig of Left e -> error e Right b -> b whe