plutarch-testlib-1.0.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Plutarch.Test.QuickCheck

Synopsis
  • propEval :: (Arbitrary a, Show a) => TestName -> (a -> ClosedTerm b) -> TestTree
  • propEvalFail :: (Arbitrary a, Show a) => TestName -> (a -> ClosedTerm b) -> TestTree
  • propCompileFail :: (Arbitrary a, Show a) => TestName -> (a -> ClosedTerm b) -> TestTree
  • propEvalEqual :: (Arbitrary a, Show a) => TestName -> (a -> ClosedTerm b) -> (a -> ClosedTerm b) -> TestTree
  • checkHaskellEquivalent :: forall (plutarchInput :: S -> Type) (plutarchOutput :: S -> Type). (PLiftable plutarchInput, PLiftable plutarchOutput, Pretty (AsHaskell plutarchInput), Arbitrary (AsHaskell plutarchInput), Pretty (AsHaskell plutarchOutput), Eq (AsHaskell plutarchOutput)) => (AsHaskell plutarchInput -> AsHaskell plutarchOutput) -> ClosedTerm (plutarchInput :--> plutarchOutput) -> Property
  • checkHaskellEquivalent2 :: forall (plutarchInput1 :: S -> Type) (plutarchInput2 :: S -> Type) (plutarchOutput :: S -> Type). (PLiftable plutarchInput1, Pretty (AsHaskell plutarchInput1), Arbitrary (AsHaskell plutarchInput1), PLiftable plutarchInput2, Pretty (AsHaskell plutarchInput2), Arbitrary (AsHaskell plutarchInput2), PLiftable plutarchOutput, Pretty (AsHaskell plutarchOutput), Eq (AsHaskell plutarchOutput)) => (AsHaskell plutarchInput1 -> AsHaskell plutarchInput2 -> AsHaskell plutarchOutput) -> ClosedTerm (plutarchInput1 :--> (plutarchInput2 :--> plutarchOutput)) -> Property

Documentation

propEval :: (Arbitrary a, Show a) => TestName -> (a -> ClosedTerm b) -> TestTree Source #

Like testEval but generate terms

@since WIP

propEvalFail :: (Arbitrary a, Show a) => TestName -> (a -> ClosedTerm b) -> TestTree Source #

Like testEvalFail but generate terms

@since WIP

propCompileFail :: (Arbitrary a, Show a) => TestName -> (a -> ClosedTerm b) -> TestTree Source #

Like testCompileFail but generate terms

@since WIP

propEvalEqual Source #

Arguments

:: (Arbitrary a, Show a) 
=> TestName 
-> (a -> ClosedTerm b)

Actual

-> (a -> ClosedTerm b)

Expected

-> TestTree 

Like testEvalEqual but generate terms

@since WIP

checkHaskellEquivalent :: forall (plutarchInput :: S -> Type) (plutarchOutput :: S -> Type). (PLiftable plutarchInput, PLiftable plutarchOutput, Pretty (AsHaskell plutarchInput), Arbitrary (AsHaskell plutarchInput), Pretty (AsHaskell plutarchOutput), Eq (AsHaskell plutarchOutput)) => (AsHaskell plutarchInput -> AsHaskell plutarchOutput) -> ClosedTerm (plutarchInput :--> plutarchOutput) -> Property Source #

@since WIP

checkHaskellEquivalent2 :: forall (plutarchInput1 :: S -> Type) (plutarchInput2 :: S -> Type) (plutarchOutput :: S -> Type). (PLiftable plutarchInput1, Pretty (AsHaskell plutarchInput1), Arbitrary (AsHaskell plutarchInput1), PLiftable plutarchInput2, Pretty (AsHaskell plutarchInput2), Arbitrary (AsHaskell plutarchInput2), PLiftable plutarchOutput, Pretty (AsHaskell plutarchOutput), Eq (AsHaskell plutarchOutput)) => (AsHaskell plutarchInput1 -> AsHaskell plutarchInput2 -> AsHaskell plutarchOutput) -> ClosedTerm (plutarchInput1 :--> (plutarchInput2 :--> plutarchOutput)) -> Property Source #

@since WIP

Orphan instances

Pretty a => Pretty (Negative a) Source #

@since WIP

Instance details

Methods

pretty :: Negative a -> Doc ann

prettyList :: [Negative a] -> Doc ann

Pretty a => Pretty (NonNegative a) Source #

@since WIP

Instance details

Methods

pretty :: NonNegative a -> Doc ann

prettyList :: [NonNegative a] -> Doc ann

Pretty a => Pretty (NonPositive a) Source #

@since WIP

Instance details

Methods

pretty :: NonPositive a -> Doc ann

prettyList :: [NonPositive a] -> Doc ann

Pretty a => Pretty (NonZero a) Source #

@since WIP

Instance details

Methods

pretty :: NonZero a -> Doc ann

prettyList :: [NonZero a] -> Doc ann

Pretty a => Pretty (Positive a) Source #

@since WIP

Instance details

Methods

pretty :: Positive a -> Doc ann

prettyList :: [Positive a] -> Doc ann