QuickCheck 1を使用していますが、次のデータ型があります。
data A = ...
instance Arbitrary A where ...
data B = ...
instance Arbitrary B where ...
data C = C A B
Arbitrary
ここで、のインスタンスを定義して、およびの既存のジェネレーターを使用しC
てC
値が生成されるようにします。私はこれをすることになった:A
B
instance Arbitrary C where
arbitrary = elements [(C a b) |
a <- generate 20 (System.Random.mkStdGen 0) arbitrary,
b <- generate 20 (System.Random.mkStdGen 0) arbitrary]
これは、固定数の値を明示的に生成するためA
にB
必要ですか、それとも既存のものArbitraries
を新しいものに結合するためのより良い方法がありますか?