module Test.Cardano.Network.OrphanInstances.Tests (tests) where import Data.Aeson import Cardano.Network.OrphanInstances () import Ouroboros.Network.OrphanInstances () import Ouroboros.Network.Protocol.Handshake.Test hiding (tests) import Test.QuickCheck import Test.Tasty import Test.Tasty.QuickCheck tests :: TestTree tests :: TestTree tests = TestName -> [TestTree] -> TestTree testGroup TestName "Cardano.Network.OrphanInstances" [ TestName -> (ArbitraryNodeToNodeVersion -> Property) -> TestTree forall a. Testable a => TestName -> a -> TestTree testProperty TestName "NodeToNodeVersion" ArbitraryNodeToNodeVersion -> Property prop_json_NodeToNodeVersion , TestName -> (ArbitraryNodeToClientVersion -> Property) -> TestTree forall a. Testable a => TestName -> a -> TestTree testProperty TestName "NodeToClientVersion" ArbitraryNodeToClientVersion -> Property prop_json_NodeToClientVersion ] prop_json_NodeToNodeVersion :: ArbitraryNodeToNodeVersion -> Property prop_json_NodeToNodeVersion :: ArbitraryNodeToNodeVersion -> Property prop_json_NodeToNodeVersion (ArbitraryNodeToNodeVersion NodeToNodeVersion v) = case ByteString -> Either TestName NodeToNodeVersion forall a. FromJSON a => ByteString -> Either TestName a eitherDecode (NodeToNodeVersion -> ByteString forall a. ToJSON a => a -> ByteString encode NodeToNodeVersion v) of Right NodeToNodeVersion v' -> NodeToNodeVersion v NodeToNodeVersion -> NodeToNodeVersion -> Property forall a. (Eq a, Show a) => a -> a -> Property === NodeToNodeVersion v' Left TestName e -> TestName -> Bool -> Property forall prop. Testable prop => TestName -> prop -> Property counterexample TestName e Bool False prop_json_NodeToClientVersion :: ArbitraryNodeToClientVersion -> Property prop_json_NodeToClientVersion :: ArbitraryNodeToClientVersion -> Property prop_json_NodeToClientVersion (ArbitraryNodeToClientVersion NodeToClientVersion v) = case ByteString -> Either TestName NodeToClientVersion forall a. FromJSON a => ByteString -> Either TestName a eitherDecode (NodeToClientVersion -> ByteString forall a. ToJSON a => a -> ByteString encode NodeToClientVersion v) of Right NodeToClientVersion v' -> NodeToClientVersion v NodeToClientVersion -> NodeToClientVersion -> Property forall a. (Eq a, Show a) => a -> a -> Property === NodeToClientVersion v' Left TestName e -> TestName -> Bool -> Property forall prop. Testable prop => TestName -> prop -> Property counterexample TestName e Bool False