packages feed

cron-0.3.2: test/SpecHelper.hs

{-# LANGUAGE TemplateHaskell #-}
module SpecHelper
    ( module X
    , isLeft
    ) where


-------------------------------------------------------------------------------
import           Control.Applicative   as X
import           Data.Attoparsec.Text  as X
import           Data.DeriveTH
import           Data.Time.Calendar    as X
import           Data.Time.Clock       as X
import           Data.Time.LocalTime   as X
import           Debug.Trace           as X
import           Test.Tasty            as X
import           Test.Tasty.HUnit      as X
import           Test.Tasty.QuickCheck as X
-------------------------------------------------------------------------------
import           System.Cron           as X
import           System.Cron.Parser    as X
-------------------------------------------------------------------------------


instance Arbitrary UTCTime where
  arbitrary = do
    d <- ModifiedJulianDay . fromInteger . getPositive <$> arbitrary
    t <- fromInteger . getPositive <$> arbitrary
    return $ UTCTime d t

$(derive makeArbitrary ''CronField)
$(derive makeArbitrary ''MinuteSpec)
$(derive makeArbitrary ''HourSpec)
$(derive makeArbitrary ''DayOfWeekSpec)
$(derive makeArbitrary ''DayOfMonthSpec)
$(derive makeArbitrary ''MonthSpec)
$(derive makeArbitrary ''CronSchedule)


-------------------------------------------------------------------------------
isLeft :: Either a b -> Bool
isLeft (Left _) = True
isLeft _        = False