{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeApplications #-}
module Test.Cardano.Ledger.Conway.BinarySpec (spec) where
import Cardano.Ledger.Conway
import Cardano.Ledger.Conway.Genesis
import Cardano.Ledger.Conway.Governance
import Data.Default (def)
import Test.Cardano.Ledger.Binary.RoundTrip
import Test.Cardano.Ledger.Common
import Test.Cardano.Ledger.Conway.Arbitrary ()
import Test.Cardano.Ledger.Conway.Binary.RoundTrip (roundTripConwayCommonSpec)
import Test.Cardano.Ledger.Conway.TreeDiff ()
import Test.Cardano.Ledger.Core.Binary (specUpgrade)
import Test.Cardano.Ledger.Core.Binary.RoundTrip (roundTripEraSpec)
spec :: Spec
spec :: Spec
spec = do
forall era.
(Arbitrary (TxOut (PreviousEra era)),
Arbitrary (TxCert (PreviousEra era)),
Arbitrary (TxAuxData (PreviousEra era)),
Arbitrary (TxWits (PreviousEra era)),
Arbitrary (TxBody (PreviousEra era)), EraTx (PreviousEra era),
EraTx era, Arbitrary (Tx (PreviousEra era)),
Arbitrary (Script (PreviousEra era)), HasCallStack,
ToExpr (Tx era), ToExpr (TxBody era), ToExpr (TxWits era),
ToExpr (TxAuxData era)) =>
BinaryUpgradeOpts -> Spec
specUpgrade @ConwayEra forall a. Default a => a
def
forall a. HasCallStack => String -> SpecWith a -> SpecWith a
describe String
"RoundTrip" forall a b. (a -> b) -> a -> b
$ do
forall t. (Show t, Eq t, Arbitrary t, EncCBOR t, DecCBOR t) => Spec
roundTripCborSpec @GovActionId
forall t. (Show t, Eq t, Arbitrary t, EncCBOR t, DecCBOR t) => Spec
roundTripCborSpec @(GovPurposeId 'PParamUpdatePurpose ConwayEra)
forall t. (Show t, Eq t, Arbitrary t, EncCBOR t, DecCBOR t) => Spec
roundTripCborSpec @(GovPurposeId 'HardForkPurpose ConwayEra)
forall t. (Show t, Eq t, Arbitrary t, EncCBOR t, DecCBOR t) => Spec
roundTripCborSpec @(GovPurposeId 'CommitteePurpose ConwayEra)
forall t. (Show t, Eq t, Arbitrary t, EncCBOR t, DecCBOR t) => Spec
roundTripCborSpec @(GovPurposeId 'ConstitutionPurpose ConwayEra)
forall t. (Show t, Eq t, Arbitrary t, EncCBOR t, DecCBOR t) => Spec
roundTripCborSpec @Vote
forall t. (Show t, Eq t, Arbitrary t, EncCBOR t, DecCBOR t) => Spec
roundTripCborSpec @Voter
forall era.
(EraTx era, EraGov era, StashedAVVMAddresses era ~ (),
Arbitrary (Tx era), Arbitrary (TxBody era), Arbitrary (TxOut era),
Arbitrary (TxCert era), Arbitrary (TxWits era),
Arbitrary (TxAuxData era), Arbitrary (Value era),
Arbitrary (CompactForm (Value era)), Arbitrary (Script era),
Arbitrary (GovState era), Arbitrary (PParams era),
Arbitrary (PParamsUpdate era),
Arbitrary (PParamsHKD StrictMaybe era), RuleListEra era) =>
Spec
roundTripConwayCommonSpec @ConwayEra
forall era t.
(Era era, Show t, Eq t, EncCBOR t, DecCBOR t, Arbitrary t,
HasCallStack) =>
Spec
roundTripEraSpec @ConwayEra @ConwayGenesis