{-# 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.Keys import Cardano.Ledger.Plutus.CostModels (CostModels) import Cardano.Ledger.State 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 String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "RoundTrip JSON" (Spec -> Spec) -> Spec -> Spec 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 @StakePoolState 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