Control the kitchen lights
This commit is contained in:
+20
-6
@@ -12,7 +12,7 @@ import Data.List (sort)
|
||||
import Data.Serialize (get, put, runGet, runPut)
|
||||
import qualified Data.Set as S
|
||||
import qualified Data.Text as T
|
||||
import Data.Time (Day (..), NominalDiffTime, UTCTime (..), picosecondsToDiffTime, utc)
|
||||
import Data.Time (Day (..), NominalDiffTime, LocalTime(..), TimeOfDay(..), UTCTime (..), picosecondsToDiffTime, utc)
|
||||
import Data.UUID (nil)
|
||||
import Hedgehog
|
||||
import qualified Hedgehog.Gen as Gen
|
||||
@@ -413,12 +413,26 @@ timeGen = do
|
||||
<$> Gen.int (Range.linear 0 (86400 * 10 ^ (12 :: Int) - 1))
|
||||
pure $ SerializeUTCTime (UTCTime day pico)
|
||||
|
||||
localTimeGen :: Gen SerializeLocalTime
|
||||
localTimeGen = do
|
||||
day <- ModifiedJulianDay . fromIntegral <$> genInt 0 100000
|
||||
tod <- TimeOfDay <$> genInt 0 23 <*> genInt 0 59 <*> (fromIntegral <$> genInt 0 60)
|
||||
pure $ SerializeLocalTime (LocalTime day tod)
|
||||
where
|
||||
genInt a b = Gen.int (Range.linear a b)
|
||||
|
||||
serializeSpec :: Spec
|
||||
serializeSpec = describe "SerializeUTCTime" $ do
|
||||
it "get (put x) == pure x" $
|
||||
hedgehog $ do
|
||||
x <- forAll timeGen
|
||||
tripping x (runPut . put) (runGet get)
|
||||
serializeSpec = do
|
||||
describe "SerializeUTCTime" $ do
|
||||
it "get (put x) == pure x" $
|
||||
hedgehog $ do
|
||||
x <- forAll timeGen
|
||||
tripping x (runPut . put) (runGet get)
|
||||
describe "SerializeLocalTime" $ do
|
||||
it "get (put x) == pure x" $
|
||||
hedgehog $ do
|
||||
x <- forAll localTimeGen
|
||||
tripping x (runPut . put) (runGet get)
|
||||
|
||||
effSpec :: Spec
|
||||
effSpec = describe "eff" $ do
|
||||
|
||||
Reference in New Issue
Block a user