linnet-aeson-0.1.0.1: test/EncodeSpec.hs
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
module EncodeSpec
( spec
) where
import Data.ByteString (ByteString)
import Data.Text (Text)
import EncodeJsonLaws
import Foo
import Linnet.Aeson
import Test.Hspec
import Test.QuickCheck (property)
import Test.QuickCheck.Instances
import Util
spec :: Spec
spec = do
checkLaws "Int" $ encodeJsonLaws @Int
checkLaws "Text" $ encodeJsonLaws @Text
checkLaws "Bool" $ encodeJsonLaws @Bool
checkLaws "Foo" $ encodeJsonLaws @Foo
checkLaws "Maybe Foo" $ encodeJsonLaws @(Maybe Foo)
checkLaws "[Foo]" $ encodeJsonLaws @[Foo]