从 haskell 中的用户定义数据类型创建生成器
Creating generators from user defined data types in haskell
我需要一些关于如何为 Foo 数据类型创建随机生成器以使 Boo 列表永不为空的建议?
data Boo = Boo Float Float Float
data Foo = Foo Float Float Float [Boo]
您可以使用 listOf1
函数获取生成非空列表的生成器,并使用它来定义适当的 Arbitrary
实例,例如:
import Test.QuickCheck
import Control.Applicative
instance Arbitrary Boo
instance Arbitrary Foo where
arbitrary = Foo <$> arbitrary <*> arbitrary <*> arbitrary <*> listOf1 arbitrary
我需要一些关于如何为 Foo 数据类型创建随机生成器以使 Boo 列表永不为空的建议?
data Boo = Boo Float Float Float
data Foo = Foo Float Float Float [Boo]
您可以使用 listOf1
函数获取生成非空列表的生成器,并使用它来定义适当的 Arbitrary
实例,例如:
import Test.QuickCheck
import Control.Applicative
instance Arbitrary Boo
instance Arbitrary Foo where
arbitrary = Foo <$> arbitrary <*> arbitrary <*> arbitrary <*> listOf1 arbitrary