packages feed

hora-2.2.0: test/Test/TestUTCTimeBin.hs

module Test.TestUTCTimeBin where

import Data.Binary
import Data.ByteString.Lazy
import Data.Maybe
import Data.Time.Clock
import Data.Time.Hora.Part
import Data.Time.Hora.Stamp
import Data.Time.Hora.Type
import Debug.Trace
import Test.Hspec


main::IO()
main = hspec $ do
   describe "round trip convert & serialize UTCTime via UTCTimeBin" $ do
      it "round trip convert" $ do
         utc1 <- now::IO UTCTime
         let utcbin2 = fromUtc utc1::UTCTimeBin
             utc2 = fromJust $ toUtc utcbin2
         traceIO $ show utc1
         traceIO $ show utcbin2
         traceIO $ show utc2
         utc2 `shouldBe` utc1
      it "round trip convert & serialize" $ do
         utc10 <- now::IO UTCTime
         let utcbin10 = fromUtc utc10::UTCTimeBin
             bin11 = encode utcbin10::ByteString
             utcbin12 = decode bin11::UTCTimeBin
             utc13 = fromJust $ toUtc utcbin12
         utc10 `shouldBe` utc13