succinct-0.0.0.1: components/succinct-core/test/Data/Succinct/Excess/PartialMinMaxExcess1Spec.hs
{-# OPTIONS_GHC -fno-warn-incomplete-patterns #-}
module Data.Succinct.Excess.PartialMinMaxExcess1Spec (spec) where
import Data.Succinct.Excess.MinMaxExcess1
import Data.Succinct.Excess.PartialMinMaxExcess1
import HaskellWorks.Hspec.Hedgehog
import Hedgehog
import Test.Hspec
import qualified Hedgehog.Gen as G
import qualified Hedgehog.Range as R
{- HLINT ignore "Redundant do" -}
{- HLINT ignore "Reduce duplication" -}
spec :: Spec
spec = describe "Data.Succinct.Excess.PartialMinMaxExcess1Spec" $ do
describe "Equivalent to partialMinMaxExcess1 implementation" $ do
it "For word8" $ requireProperty $ do
w <- forAll $ G.word8 R.constantBounded
minMaxExcess1 w === partialMinMaxExcess1 8 w
it "For word16" $ requireProperty $ do
w <- forAll $ G.word16 R.constantBounded
minMaxExcess1 w === partialMinMaxExcess1 16 w
it "For word32" $ requireProperty $ do
w <- forAll $ G.word32 R.constantBounded
minMaxExcess1 w === partialMinMaxExcess1 32 w
it "For word64" $ requireProperty $ do
w <- forAll $ G.word64 R.constantBounded
minMaxExcess1 w === partialMinMaxExcess1 64 w