{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}

module Test.Cardano.Ledger.Shelley.Binary.GoldenSpec (spec) where

import Cardano.Ledger.Shelley
import Test.Cardano.Ledger.Common
import Test.Cardano.Ledger.Shelley.Arbitrary ()
import Test.Cardano.Ledger.Shelley.Binary.Golden (goldenNewEpochStateExpectation)

spec :: Spec
spec :: Spec
spec =
  forall a. HasCallStack => String -> SpecWith a -> SpecWith a
describe String
"Golden" forall a b. (a -> b) -> a -> b
$ do
    forall prop.
(HasCallStack, Testable prop) =>
String -> prop -> Spec
prop String
"NewEpochState" forall a b. (a -> b) -> a -> b
$ forall era.
(HasCallStack, EraTxOut era, EraGov era,
 ToCBOR (StashedAVVMAddresses era),
 EncCBOR (StashedAVVMAddresses era)) =>
NewEpochState era -> Expectation
goldenNewEpochStateExpectation @ShelleyEra