{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeApplications #-} module Test.Cardano.Ledger.JsonSpec (spec) where import Cardano.Ledger.Address import Cardano.Ledger.BaseTypes import Cardano.Ledger.Coin import Cardano.Ledger.Credential import Cardano.Ledger.DRep (DRep (..)) import Cardano.Ledger.Keys import Cardano.Ledger.Plutus.CostModels (CostModels) import Cardano.Ledger.PoolParams import Cardano.Ledger.TxIn import Test.Cardano.Ledger.Common import Test.Cardano.Ledger.Core.Arbitrary () import Test.Cardano.Ledger.Core.JSON spec :: Spec spec :: Spec spec = do forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "RoundTrip JSON" forall a b. (a -> b) -> a -> b $ do forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @Coin forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @ProtVer forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @Nonce forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @Url forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @DnsName forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @Port forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @Network forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @EpochInterval forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @CostModels forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @PoolMetadata forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @StakePoolRelay forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @PoolParams forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @Addr forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @RewardAccount forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @(Credential 'Witness) forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @DRep forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @Anchor forall t. (HasCallStack, Typeable t, Show t, Eq t, ToJSON t, FromJSON t, Arbitrary t) => Spec roundTripJsonSpec @TxId