polysemy-chronos-0.1.0.0: test/Polysemy/Chronos/ChronosTimeTest.hs
module Polysemy.Chronos.ChronosTimeTest where
import qualified Chronos as Chronos
import Polysemy.Chronos (interpretTimeChronos)
import Polysemy.Chronos.Time (interpretTimeChronosAt)
import Polysemy.Test (UnitTest, assert, runTestAuto, (===))
import Polysemy.Time.Calendar (year)
import qualified Polysemy.Time.Data.Time as Time
import Polysemy.Time.Data.TimeUnit (Seconds(Seconds))
test_chronosTime :: UnitTest
test_chronosTime =
runTestAuto do
interpretTimeChronos do
time1 <- Time.now
time2 <- Time.now
assert (time1 < time2)
testDatetime :: Chronos.Datetime
testDatetime =
Chronos.datetimeFromYmdhms 1845 12 31 23 59 59
testTime :: Chronos.Time
testTime =
Chronos.datetimeToTime testDatetime
test_chronosTimeAt :: UnitTest
test_chronosTimeAt =
runTestAuto do
interpretTimeChronosAt testTime do
Time.sleep (Seconds 2)
time <- Time.now
1846 === year time