-- | Tests for serializing and deserializing messages. module Messages (tests) where import Protolude import Data.Aeson (encode, eitherDecode) import Hedgehog (forAll, property, tripping) import Test.Tasty (TestTree, testGroup) import Test.Tasty.Hedgehog (testProperty) import qualified Generator tests :: IO TestTree tests = pure $ testGroup "Messages" [ testProperty "client messages roundtrip" $ property $ do x <- forAll Generator.clientMessages tripping x encode eitherDecode , testProperty "server messages roundtrip" $ property $ do x <- forAll Generator.serverMessages tripping x encode eitherDecode ]