@@ -33,14 +33,13 @@ module Test.QuickCheck.Gen
33
33
import Prelude
34
34
35
35
import Control.Alt (class Alt )
36
+ import Control.Lazy (class Lazy )
36
37
import Control.Monad.Eff (Eff )
37
38
import Control.Monad.Eff.Random (RANDOM )
39
+ import Control.Monad.Gen.Class (class MonadGen )
38
40
import Control.Monad.Rec.Class (class MonadRec , Step (..), tailRecM )
39
41
import Control.Monad.State (State , runState , evalState )
40
- import Control.Monad.State.Class (state , get , modify )
41
- import Control.Monad.Gen.Class (class MonadGen )
42
- import Control.Lazy (class Lazy )
43
-
42
+ import Control.Monad.State.Class (modify , state )
44
43
import Data.Array ((!!), length , zip , sortBy )
45
44
import Data.Enum (class BoundedEnum , fromEnum , toEnum )
46
45
import Data.Foldable (fold )
@@ -49,13 +48,10 @@ import Data.List (List(..), toUnfoldable)
49
48
import Data.Maybe (fromMaybe , fromJust )
50
49
import Data.Monoid.Additive (Additive (..))
51
50
import Data.Newtype (unwrap )
52
- import Data.Tuple (Tuple (..), fst , snd )
53
51
import Data.NonEmpty (NonEmpty , (:|))
54
-
52
+ import Data.Tuple ( Tuple (..), fst , snd )
55
53
import Math ((%))
56
-
57
54
import Partial.Unsafe (unsafePartial )
58
-
59
55
import Test.QuickCheck.LCG (Seed , lcgPerturb , lcgN , lcgNext , runSeed , randomSeed )
60
56
61
57
-- | Tests are parameterized by the `Size` of the randomly-generated data,
@@ -118,7 +114,8 @@ sized f = stateful (\s -> f s.size)
118
114
119
115
-- | Modify a random generator by setting a new size parameter.
120
116
resize :: forall a . Size -> Gen a -> Gen a
121
- resize sz g = Gen $ fst <<< runGen g <<< (_ { size = sz }) <$> get
117
+ resize sz g = Gen $ state \{ newSeed, size } ->
118
+ (_ {size = size} ) <$> runGen g { newSeed, size: sz}
122
119
123
120
-- | Create a random generator which samples a range of `Number`s i
124
121
-- | with uniform probability.
0 commit comments