spectacle-1.0.0: test/unit-tests/Test/Gen/Rec.hs
module Test.Gen.Rec
( -- * Record Generators
empty,
singleton,
-- * Re-exports
Rec,
)
where
import Hedgehog (MonadGen)
import Data.Type.Rec (Name, Rec, type (#))
import qualified Data.Type.Rec as Rec
-- ---------------------------------------------------------------------------------------------------------------------
empty :: MonadGen m => m (Rec '[])
empty = pure Rec.Nil
singleton :: MonadGen m => Name c -> m a -> m (Rec '[c # a])
singleton n = fmap \x -> Rec.Con n x Rec.Nil