cleveland-0.2.0: src/Test/Cleveland/Michelson.hs
-- SPDX-FileCopyrightText: 2021 Oxhead Alpha
-- SPDX-License-Identifier: LicenseRef-MIT-OA
-- | Module containing some utilities for testing Michelson contracts using
-- Haskell testing frameworks.
-- It's Morley testing EDSL.
-- We focus on @tasty@ and @hedgehog@ because that's what we mostly use in
-- our tests, but we also provide helpers for @hspec@, and defining helpers
-- for other libraries (e. g. @QuickCheck@) shouldn't be hard.
-- We don't provide helpers for other libraries to have less dependencies.
module Test.Cleveland.Michelson
( -- * Importing a contract
testTreesWithContract
, testTreesWithUntypedContract
, testTreesWithTypedContract
, concatTestTrees
, importContract
, importSomeContract
, importUntypedContract
-- * Unit testing
, testContractCoversEntrypoints
, testContractMatchesEntrypoints
-- * General utilities
, failedTest
, succeededTest
, eitherIsLeft
, eitherIsRight
, meanTimeUpperBoundProp
, meanTimeUpperBoundPropNF
-- * Re-exports
--
-- | These functions from @Time@ are re-exported here to make it convenient to call
-- 'meanTimeUpperBoundProp' and 'meanTimeUpperBoundPropNF'.
, mcs, ms, sec, minute
-- * Autodoc testing
, runDocTests
, testDocBasic
, excludeDocTests
) where
import Test.Cleveland.Doc.Michelson
import Test.Cleveland.Michelson.Entrypoints
import Test.Cleveland.Michelson.Import
import Test.Cleveland.Util