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 ]