morley-1.1.0: test/Test/Interpreter/StackRef.hs
-- | Interpreter tests involving 'StackRef'.
module Test.Interpreter.StackRef
( test_mkStackRef
) where
import Test.Hspec.Expectations (shouldSatisfy)
import Test.Tasty (TestTree)
import Test.Tasty.HUnit (testCase)
import Michelson.Test (contractProp)
import Michelson.Test.Dummy (dummyContractEnv)
import Michelson.Typed
test_mkStackRef :: TestTree
test_mkStackRef =
testCase "does not segfault" $
contractProp fullContract (flip shouldSatisfy isRight . fst)
dummyContractEnv () ()
where
stackRef = PrintComment . one . Right $ mkStackRef @1
fullContract :: FullContract 'TUnit 'TUnit
fullContract = FullContract
{ fcCode = contractCode
, fcStoreNotes = starNotes
, fcParamNotesSafe = starParamNotes
}
contractCode :: ContractCode 'TUnit 'TUnit
contractCode =
CAR `Seq` DUP `Seq` Ext (PRINT stackRef) `Seq`
DROP `Seq` NIL `Seq` PAIR