finish fixing inverted Ord for TrustLevel

Flipped all comparisons. When a TrustLevel list was wanted from Trusted
downwards, used Down to compare it in that order.

This commit was sponsored by mo on Patreon.
This commit is contained in:
Joey Hess 2018-04-13 15:16:07 -04:00
parent a0e4b9678b
commit f56594af9e
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
7 changed files with 22 additions and 19 deletions

View file

@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher.
-}
{-# LANGUAGE FlexibleInstances #-}
module Types.TrustLevel (
TrustLevel(..),
TrustMap,
@ -15,15 +17,19 @@ module Types.TrustLevel (
import qualified Data.Map as M
import Data.Default
import Data.Ord
import Types.UUID
data TrustLevel = DeadTrusted | UnTrusted | SemiTrusted | Trusted
deriving (Eq, Bounded, Show)
deriving (Eq, Enum, Ord, Bounded, Show)
instance Default TrustLevel where
def = SemiTrusted
instance Default (Down TrustLevel) where
def = Down def
type TrustMap = M.Map UUID TrustLevel
readTrustLevel :: String -> Maybe TrustLevel
@ -40,6 +46,6 @@ showTrustLevel SemiTrusted = "semitrusted"
showTrustLevel DeadTrusted = "dead"
prop_read_show_TrustLevel :: Bool
prop_read_show_TrustLevel = True -- all check [minBound .. maxBound]
prop_read_show_TrustLevel = all check [minBound .. maxBound]
where
check l = readTrustLevel (showTrustLevel l) == Just l