hjugement-2.0.2.20190414: test/QuickCheck/Gauge.hs
module QuickCheck.Gauge where
import Data.Bool
import Data.Function (($))
import Data.Ord (Ord(..), Ordering(..))
import Majority.Merit
import Test.Tasty
import Test.Tasty.QuickCheck
import Majority.Judgment
import QuickCheck.Merit ()
import QuickCheck.Utils
import Types
quickcheck :: TestTree
quickcheck =
testGroup "Gauge"
[ testProperty "majorityGauge and majorityValue consistency" $
\(SameLength (x::Merit SchoolGrade, y)) ->
case majorityGauge x`compare`majorityGauge y of
LT -> majorityValue x < majorityValue y
GT -> majorityValue y < majorityValue x
EQ -> True
]