{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Mary.BinarySpec (spec) where import Cardano.Ledger.Mary import Test.Cardano.Ledger.Common import Test.Cardano.Ledger.Core.Binary as Binary (decoderEquivalenceCoreEraTypesSpec, txSizeSpec) import Test.Cardano.Ledger.Mary.Arbitrary () import Test.Cardano.Ledger.Mary.Binary.Annotator () import Test.Cardano.Ledger.Mary.Era () import Test.Cardano.Ledger.Mary.TreeDiff () import Test.Cardano.Ledger.Shelley.Binary.RoundTrip (roundTripShelleyCommonSpec) spec :: Spec spec :: Spec spec = do String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "RoundTrip" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do forall era. ShelleyEraTest era => Spec roundTripShelleyCommonSpec @MaryEra String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "DecCBOR instances equivalence" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do forall era. (EraTx era, Arbitrary (Tx TopTx era), Arbitrary (TxBody TopTx era), Arbitrary (TxWits era), Arbitrary (TxAuxData era), Arbitrary (Script era), HasCallStack) => Spec Binary.decoderEquivalenceCoreEraTypesSpec @MaryEra forall era. (EraTx era, Arbitrary (Tx TopTx era), SafeToHash (TxWits era)) => Spec Binary.txSizeSpec @MaryEra