dfj*_*328 2 haskell functional-programming generator quickcheck
我需要一些关于如何为Foo数据类型创建随机生成器的建议,以便Boo列表永远不会为空?
data Boo = Boo Float Float Float
data Foo = Foo Float Float Float [Boo]
Run Code Online (Sandbox Code Playgroud)
您可以使用该listOf1函数获取生成非空列表的生成器,并使用该生成器定义适当的Arbitrary实例,如:
import Test.QuickCheck
import Control.Applicative
instance Arbitrary Boo
instance Arbitrary Foo where
arbitrary = Foo <$> arbitrary <*> arbitrary <*> arbitrary <*> listOf1 arbitrary
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |