packages feed

musig2-0.2.1: test/Main.hs

module Main where

import AggPartialsProperty (propertyAggPartials)
import ApplyTweaks (testApplyTweaks)
import Bip327Regressions (testBip327Regressions)
import MonoidProjective (propertyMonoidProjective)
import MonoidPubNonce (propertyMonoidPubNonce)
import NonceGenProperty (propertyNonceGen)
import OfficialVectors (officialVectorTests)
import ParityPub (testParityPub)
import SignVerify (testSignVerify)
import SignVerifyProperty (propertySignVerify)
import SignVerifyTweakProperty (propertySignVerifyTweak)
import Test.Tasty

-- | Unit tests.
unitTests :: TestTree
unitTests = testGroup "Unit Tests" [testParityPub, testApplyTweaks, testSignVerify, testBip327Regressions]

-- | Property tests.
propertyTests :: TestTree
propertyTests = testGroup "Property Tests" [propertyMonoidProjective, propertyNonceGen, propertyMonoidPubNonce, propertySignVerify, propertySignVerifyTweak, propertyAggPartials]

-- | Tests.
tests :: TestTree -> TestTree
tests officialVectors = testGroup "All Tests" [officialVectors, unitTests, propertyTests]

-- | Run all tests.
main :: IO ()
main = officialVectorTests >>= defaultMain . tests