@@ -1,14 +1,13 @@
11{-# LANGUAGE DerivingStrategies #-}
22{-# LANGUAGE DerivingVia #-}
33{-# LANGUAGE DeriveAnyClass #-}
4−{-# OPTIONS_GHC -fconstraint-solver-iterations=5 #-} -- GHC-9.2.4
54
65-- | Testing that our Arbitrary instances do not get stuck and respect the
76-- `size` parameter while generating.
87
98module RecursiveTest where
109
11−import Control.DeepSeq (NFData)
10+import Control.DeepSeq
1211import GHC.Generics (Generic)
1312import Test.QuickCheck
1413import Test.QuickCheck.Arbitrary.Generic
@@ -16,13 +15,7 @@ import Test.QuickCheck.Arbitrary.Generic
1615data Unit = Unit
1716 deriving (Eq, Show, Generic)
1817 deriving anyclass NFData
19−#if MIN_VERSION_QuickCheck(2, 14, 0)
2018 deriving Arbitrary via (GenericArbitrary Unit)
21−#else
22−instance Arbitrary Unit where
23− arbitrary = genericArbitrary
24− shrink = genericShrink
25−#endif
2619
2720prop_unitTotal :: Unit -> Property
2821prop_unitTotal = total
@@ -30,13 +23,7 @@ prop_unitTotal = total
3023data Single = Single Int
3124 deriving (Eq, Show, Generic)
3225 deriving anyclass NFData
33−#if MIN_VERSION_QuickCheck(2, 14, 0)
3426 deriving Arbitrary via (GenericArbitrary Single)
35−#else
36−instance Arbitrary Single where
37− arbitrary = genericArbitrary
38− shrink = genericShrink
39−#endif
4027
4128prop_singleTotal :: Single -> Property
4229prop_singleTotal = total
@@ -44,13 +31,7 @@ prop_singleTotal = total
4431data Multiple = M1 | M2 | M3 Int
4532 deriving (Eq, Show, Generic)
4633 deriving anyclass NFData
47−#if MIN_VERSION_QuickCheck(2, 14, 0)
4834 deriving Arbitrary via (GenericArbitrary Multiple)
49−#else
50−instance Arbitrary Multiple where
51− arbitrary = genericArbitrary
52− shrink = genericShrink
53−#endif
5435
5536prop_multipleTotal :: Multiple -> Property
5637prop_multipleTotal = total
@@ -61,13 +42,7 @@ data Rec = Rec
6142 , multiple :: Multiple
6243 } deriving (Eq, Show, Generic)
6344 deriving anyclass NFData
64−#if MIN_VERSION_QuickCheck(2, 14, 0)
65− deriving Arbitrary via (GenericArbitrary Rec)
66−#else
67−instance Arbitrary Rec where
68− arbitrary = genericArbitrary
69− shrink = genericShrink
70−#endif
45+ deriving Arbitrary via (GenericArbitrary Rec)
7146
7247prop_recTotal :: Rec -> Property
7348prop_recTotal = total
@@ -78,13 +53,7 @@ data Expr
7853 | Mul Expr Expr
7954 deriving (Eq, Show, Generic)
8055 deriving anyclass NFData
81−#if MIN_VERSION_QuickCheck(2, 14, 0)
8256 deriving Arbitrary via (GenericArbitrary Expr)
83−#else
84−instance Arbitrary Expr where
85− arbitrary = genericArbitrary
86− shrink = genericShrink
87−#endif
8857
8958prop_exprTotal :: Expr -> Property
9059prop_exprTotal = total
@@ -98,13 +67,7 @@ data Recursive
9867 | R5 Recursive String
9968 deriving (Eq, Show, Generic)
10069 deriving anyclass NFData
101−#if MIN_VERSION_QuickCheck(2, 14, 0)
10270 deriving Arbitrary via (GenericArbitrary Recursive)
103−#else
104−instance Arbitrary Recursive where
105− arbitrary = genericArbitrary
106− shrink = genericShrink
107−#endif
10871
10972prop_recursiveTotal :: Recursive -> Property
11073prop_recursiveTotal = total
@@ -114,13 +77,7 @@ data DeepRecursive
11477 | Short
11578 deriving (Eq, Show, Generic)
11679 deriving anyclass NFData
117−#if MIN_VERSION_QuickCheck(2, 14, 0)
11880 deriving Arbitrary via (GenericArbitrary DeepRecursive)
119−#else
120−instance Arbitrary DeepRecursive where
121− arbitrary = genericArbitrary
122− shrink = genericShrink
123−#endif
12481
12582prop_deepRecursiveTotal :: DeepRecursive -> Property
12683prop_deepRecursiveTotal = total