quickcheck

    9热度

    3回答

    什么是用于与类似于快速检查的promote功能,即,形式的功能的结构的函子的总称: promote :: (a -> f b) -> f (a -> b) (这是flip $ fmap (flip ($)) :: f (a -> b) -> (a -> f b)倒数)。除了(->) r和Id以外,是否还有任何具有此类操作的仿函数? (我确定必须有)。谷歌搜索'快速检查推广'只是出现了Quick

    0热度

    3回答

    我有以下, type Pos = (Int, Int) 我要生成这种类型的随机值有一些限制(这两个必须是0-8) 我会的任意intance喜欢做类似 instance Arbitrary Pos where arbitrary = do x <- choose(0,8) y <- choose(0,8) return (x,y) 然后在我的测试中使

    13热度

    3回答

    我有一个像 data Mytype = C1 | C2 Char | C3 Int String 如果我case在Mytype一个Haskell数据类型而忘记处理的情况下,一个被遗忘的建设者,GHC给我警告(详尽检查)。 我现在想写一个快速检查Arbitrary实例产生MyTypes,如: instance Arbitrary Mytype where

    3热度

    1回答

    我试图使用HSpec和QuickCheck来验证属性的猿(关联性和标识元素)。我要验证特定的实例,但想保留大部分代码多态。这是我想出了几个小时后: module Test where import Test.Hspec import Test.QuickCheck import Data.Monoid instance (Arbitrary a) => Arbitrary (Sum a

    1热度

    1回答

    我ocaml的设置如下: ocaml的4.01.0 OPAM 1.1.2 QTEST 2.0.1(OPAM列表QTEST) 快速检查1.0.0 与测试的源代码内联: let rec foo x0 f = function [] -> 0 | x::xs -> f x (foo x0 f xs);; (*$T foo foo 0 (+) [1;2] = 3

    4热度

    1回答

    我有一个环型类看起来像这样可变数目: class Ring a where addId :: a addInverse :: a -> a mulId :: a add :: a -> a -> a mul :: a -> a -> a 对于这个类我有几个实例,例如 instance Ring Matrix where ... instanc

    0热度

    1回答

    请考虑以下用例: 我有一个QuickCheck测试套件,它由两个测试用例prop_testCase1和prop_testCase2组成。使用hpc我可以观察我的测试套件的代码覆盖率。 但是,我想获得单独的结果覆盖prop_testCase1和prop_testCase2(然后进一步处理结果)。 一种解决方法是运行可执行文件多次,明确指定测试用例作为命令行参数,并在每次运行后处理生成的tix文件。

    1热度

    3回答

    我有一堆的定义为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 (scaleData d n) ≡ d

    0热度

    2回答

    Haskell这里的初学者。 我有一个函数和一堆属性来测试它与我使用quickcheck写的。当我在解释器中单独运行这些属性时,这些属性可以正常工作,并且函数可以正常工作。 但是,手动快速检查解释器中的每个属性(quickCheck prop_this,quickCheck prop_that)都很无聊,单调且耗时。我想将所有这些都放在一个程序中,并让该程序运行所有的快速检查。这是我卡住的地方。

    1热度

    1回答

    我正在为我的本地函数编程组写一篇哈斯克尔的介绍。 作为基础,我使用美味测试框架,我想测试索引功能(!!)。 MinimalExample.hs module MinimalExample where myIndex :: Int -> [a] -> a myIndex _ [] = error "index too large" myIndex 0 (