hora-2.2.1: test/Test/TestRoundtripPicoMilli.hs
module Test.TestRoundtripPicoMilli where
import Data.Time.Clock
import Data.Time.Hora.Part
import Data.Time.Hora.Span
import Data.Time.Hora.Stamp
import Data.Time.Hora.Type
import Data.Word
import Debug.Trace
import Test.Hspec
main:: SpecWith ()
main = describe "TestRoundtripPicoMilli" $ do
it "round trip pico" $ do
now1 <- now::IO UTCTime
let dp1 = fromUtc now1::DatePart Int
pico1 = pico dp1::Int
milli2 = fromSec3 + fromPico3::Word32
fromSec3 = toMilli (Sec $ second dp1)::Word32
fromPico3 = toMilli $ Pico pico1
tr1 "pico1: " pico1
tr1 "sec1: " $ second dp1
tr1 "milli2: " milli2
-- back
let pico5 = toPico $ Milli milli2::Int
tr1 "pico5: " pico5
1 `shouldBe` 1
where tr1 desc1 data1 = traceIO $ "TestRoundtripPicoMilli " <> desc1 <> show data1