cardano-diffusion:api-tests-lib
Safe HaskellNone
LanguageHaskell2010

Cardano.Network.NodeToNode.Version.TestUtils

Description

QuickCheck generators and shrinkers for NodeToNodeVersion and NodeToNodeVersionData, including helpers for generating valid and invalid version + data combinations.

Synopsis

Documentation

genNodeToNodeVersion :: Gen NodeToNodeVersion Source #

Generator for NodeToNodeVersion.

shrinkNodeToNodeVersion :: NodeToNodeVersion -> [NodeToNodeVersion] Source #

Shrinker for NodeToNodeVersion.

genNodeToNodeVersionData :: Gen NodeToNodeVersionData Source #

Generator for NodeToNodeVersionData.

shrinkNodeToNodeVersionData :: NodeToNodeVersionData -> [NodeToNodeVersionData] Source #

Shrinker for NodeToNodeVersionData.

genValidNtnVersionDataForVersion :: NodeToNodeVersion -> Gen NodeToNodeVersionData Source #

Generate valid NodeToNodeVersionData for a given version. For versions before NodeToNodeV_16, perasSupport is set to PerasUnsupported.

genInvalidNtnVersionAndDataPair :: Gen (NodeToNodeVersion, NodeToNodeVersionData) Source #

Generate an invalid (version, data) pair.

So far only Peras support can generate an invalid case, so this function returns a pair where PerasSupported is used in the data with a version that doesn't support it.

fixNtnVersionDataForVersion :: NodeToNodeVersion -> NodeToNodeVersionData -> NodeToNodeVersionData Source #

For versions before NodeToNodeV_16, set perasSupport to PerasUnsupported to ensure the data is valid for the version.