packages feed

fixer-0.0.0.0: test/Fixer/Types/Gen.hs

{-# OPTIONS_GHC -fno-warn-orphans #-}

module Fixer.Types.Gen where

import TestImport

import Numeric.Natural

import Fixer.Types

-- Until genvalidity has these.
instance GenUnchecked Natural where
    genUnchecked = (fromInteger . abs) <$> genValid -- Cannot even generate wrong ones
    shrinkUnchecked _ = []

instance GenValid Natural where
    genValid = (fromInteger . abs) <$> genValid

instance GenUnchecked Rate

instance GenValid Rate where
    genValid = (Rate <$> genValid) `suchThat` isValid

instance GenUnchecked Currency

instance GenValid Currency

instance GenUnchecked Symbols

instance GenValid Symbols where
    genValid = Symbols <$> genValid

instance GenUnchecked Rates

instance GenValid Rates where
    genValid = (Rates <$> genValid <*> genValid <*> genValid) `suchThat` isValid