fscheck

    2热度

    2回答

    可能是一个愚蠢的问题,但是如何为FSCheck生成特定大小的列表? 我可以限制使用: let fn_of_2_check xs = (xs.Length=2) ==> fn_of_2 xs 但是,很明显,这将扔掉名单的负荷。 此处fn_of_2仅对长度为2的列表进行了一些测试,并且返回true或false。

    4热度

    3回答

    我有一个函数,以产生在一个范围双: let gen_doublein = fun mx mn -> Arb.generate<float> |> Gen.suchThat ((>) mx) |> Gen.suchThat ((<) mn) ,然后一个函数,以产生2的这些的数组: let gen_params:Gen<double array> = gen { let! x

    13热度

    3回答

    我设法得到了xUnit,它可以处理我的小样本程序集。现在我想看看我能不能也FsCheck。我的问题是,当我为我的函数定义测试属性时,我很难过。 也许我只是没有一个很好的示例函数集,但是对于这些函数,什么样的测试属性会很好呢? //transforms [1;2;3;4] into [(1,2);(3,4)] pairs : 'a list -> ('a * 'a) list //' //s

    10热度

    2回答

    我想创建一个FsCheck Generator来生成“复杂”对象的实例。复杂的,我的意思是在C#中有一个现有的类,它有许多子属性和集合。这些属性和集合反过来需要为它们生成数据。 想象一下,这个班被命名为Menu与儿童收集Dishes和Drinks(我正在做这件事,所以忽略蹩脚的设计)。我想执行以下操作: 生成可变数字Dishes和可变数字Drinks。 使用FsCheck API生成Dish和Dr

    2热度

    1回答

    测试我试图让测试使用FsCheck 此功能 let extract_one_rule (rule:Rule.t<'a,'b>) = let rec expand = function |PAlt (a,b) -> expand a @ expand b |PSeq (a,b) -> let wrap = List.map (fun x -> (x.rule, fu

    5热度

    2回答

    在F#中,我有几个字段的记录: type myRecord = { a:float; b:float; c:float } 我使用FsCheck测试一些特性,这用此记录的。 对于(一个人为的)例如, let verify_this_property (r:myRecord) = myFunction(r) = (r.a * r.b)/r.c 由于myFunction的的内部实现的限制,我想

    5热度

    2回答

    我想集成FsCheck测试和NUnit测试。具体来说,当我声明几个FsCheck属性时,我希望它们可见并且可以从VS runner运行。 我找到了 xUnit与FsCheck一起使用的说明(在“实现IRunner以将FsCheck与mb | x | N | cs | Unit集成在一起”),但这不是我想要的。有没有办法做到这一点?

    1热度

    1回答

    名单我已经测试一个类型的属性可以成功地轮跳闸,JSON和背部。 let roundTrip<'a when 'a : equality> (x: 'a) = (toJSON >> ofJSON) x = x ,我目前通过调用 Check.Quick roundTrip<TypeName> 我想什么运行是能够运行这个属性上的类型,我通过反射得到的列表(扫描我的组装,因为我知道类型必须JSON

    6热度

    2回答

    我有一个类型Average与字段count这是积极的int64和double字段sum。 我做了与 let AverageGen = Gen.map2 (fun s c -> Average(float(s),int64(int(c))) (Arb.Default.NormalFloat().Generator) (Arb.Default.PositiveInt().Generator) |> A