packages feed

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