module Data.GenValidity.Time.LocalTime where
#if !MIN_VERSION_base(4,8,0)
import Control.Applicative ((<*>))
import Data.Functor ((<$>))
#endif
import Data.GenValidity
import Data.GenValidity.Time.Calendar ()
import Data.Time.LocalTime
import Data.Validity.Time.LocalTime ()
import Test.QuickCheck
instance GenUnchecked TimeZone where
genUnchecked = TimeZone <$> genUnchecked <*> genUnchecked <*> genUnchecked
instance GenValid TimeZone where
genValid = TimeZone <$> genValid <*> genValid <*> genValid
instance GenUnchecked TimeOfDay where
genUnchecked = TimeOfDay <$> genUnchecked <*> genUnchecked <*> genUnchecked
instance GenValid TimeOfDay where
genValid =
TimeOfDay <$> (genValid `suchThat` (>= 0) `suchThat` (<= 23)) <*>
(genValid `suchThat` (>= 0) `suchThat` (<= 59)) <*>
(genValid `suchThat` (>= 0) `suchThat` (<= 60))
instance GenInvalid TimeOfDay
instance GenUnchecked LocalTime where
genUnchecked = LocalTime <$> genUnchecked <*> genUnchecked
instance GenValid LocalTime where
genValid = LocalTime <$> genValid <*> genValid
instance GenInvalid LocalTime
instance GenUnchecked ZonedTime where
genUnchecked = ZonedTime <$> genUnchecked <*> genUnchecked
instance GenValid ZonedTime where
genValid = ZonedTime <$> genValid <*> genValid
instance GenInvalid ZonedTime