{-# LANGUAGE TypeApplications #-} module Main where import Cardano.Ledger.Allegra (AllegraEra) import qualified Test.Cardano.Ledger.Allegra.Binary.CddlSpec as CddlSpec import qualified Test.Cardano.Ledger.Allegra.BinarySpec as BinarySpec import qualified Test.Cardano.Ledger.Allegra.Imp as Imp import Test.Cardano.Ledger.Allegra.ImpTest () import Test.Cardano.Ledger.Common main :: IO () IO () main = Spec -> IO () ledgerTestMain (Spec -> IO ()) -> Spec -> IO () forall a b. (a -> b) -> a -> b $ String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "Allegra" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do Spec BinarySpec.spec Spec CddlSpec.spec String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "Imp" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do forall era. (ShelleyEraImp era, InjectRuleFailure "LEDGER" ShelleyUtxoPredFailure era, InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era) => Spec Imp.spec @AllegraEra