{-# LANGUAGE TypeApplications #-}

module Test.Cardano.Ledger.Dijkstra.Plutus.PlutusSpec (spec) where

import Cardano.Ledger.Core (PParamsUpdate)
import Cardano.Ledger.Dijkstra (DijkstraEra)
import Test.Cardano.Ledger.Common
import Test.Cardano.Ledger.Core.Arbitrary ()
import Test.Cardano.Ledger.Dijkstra.Arbitrary ()
import Test.Cardano.Ledger.Plutus.ToPlutusData (roundTripPlutusDataSpec)

spec :: Spec
spec :: Spec
spec = do
  String -> Spec -> Spec
forall a. HasCallStack => String -> SpecWith a -> SpecWith a
describe String
"roundtrip ToPlutusData Dijkstra instances" (Spec -> Spec) -> Spec -> Spec
forall a b. (a -> b) -> a -> b
$ do
    forall x.
(HasCallStack, Typeable x, Show x, Eq x, Arbitrary x,
 ToPlutusData x) =>
Spec
roundTripPlutusDataSpec @(PParamsUpdate DijkstraEra)