hasklepias-0.14.0: test/Stype/AesonSpec.hs
{-# LANGUAGE OverloadedStrings #-}
module Stype.AesonSpec (spec) where
import Stype
import Data.Aeson
import Test.Hspec
spec :: Spec
spec = do
describe "encoding Continuous" $
do
it "Inf encodes" $ toJSON (ContInf :: Continuous Double) `shouldBe` "Inf"
it "Negative Inf encodes" $ toJSON (NegContInf :: Continuous Double) `shouldBe` "-Inf"
it "Continuous encodes" $ toJSON (Cont 7.5 :: Continuous Double) `shouldBe` Number 7.5
describe "encoding Nonnegative Continuous" $
do
it "NonNegative Inf encodes" $ toJSON (NonNegContInf :: NonnegContinuous Double) `shouldBe` "Inf"
it "Continuous encodes" $ toJSON (NonNegCont 7.5 :: NonnegContinuous Double) `shouldBe` Number 7.5
describe "encoding EventTime" $
do
it "EventTime Inf encodes" $ toJSON (EventTime NonNegContInf :: EventTime Double) `shouldBe` "Inf"
it "EventTime encodes" $ toJSON (EventTime (NonNegCont 7.5) :: EventTime Double) `shouldBe` Number 7.5
describe "encoding Count" $
do
it "count encodes" $ toJSON (8 :: Count) `shouldBe` Number 8
describe "encoding Binary" $
do
it "zero encodes" $ toJSON Zero `shouldBe` Bool False
it "one encodes" $ toJSON One `shouldBe` Bool True
describe "encoding Nominal" $
do
it "nominal encodes" pending
describe "encoding MaybeCensored" $
do
it "MaybeCensored encodes" pending