Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Multiplicity = Multiplicity Int (Maybe Int)
- infeasible :: Multiplicity
- normalize :: Multiplicity -> Multiplicity
- meetsMultiplicity :: Multiplicity -> Int -> Bool
- once :: Multiplicity
- anyMultiplicity :: Multiplicity
- atLeast :: Multiplicity -> Multiplicity
- atMost :: Multiplicity -> Multiplicity
- between :: Multiplicity -> Multiplicity -> Multiplicity
- exhaustable :: Multiplicity -> Bool
- feasible :: Multiplicity -> Bool
Documentation
data Multiplicity Source #
An acceptable range of number of times for something to happen.
A multiplicity can have a lower and an upper bound.
Instances
Eq Multiplicity Source # | |
Defined in Test.HMock.Internal.Multiplicity (==) :: Multiplicity -> Multiplicity -> Bool # (/=) :: Multiplicity -> Multiplicity -> Bool # | |
Num Multiplicity Source # | This is an incomplete instance, provided for convenience.
|
Defined in Test.HMock.Internal.Multiplicity (+) :: Multiplicity -> Multiplicity -> Multiplicity # (-) :: Multiplicity -> Multiplicity -> Multiplicity # (*) :: Multiplicity -> Multiplicity -> Multiplicity # negate :: Multiplicity -> Multiplicity # abs :: Multiplicity -> Multiplicity # signum :: Multiplicity -> Multiplicity # fromInteger :: Integer -> Multiplicity # | |
Show Multiplicity Source # | |
Defined in Test.HMock.Internal.Multiplicity showsPrec :: Int -> Multiplicity -> ShowS # show :: Multiplicity -> String # showList :: [Multiplicity] -> ShowS # |
infeasible :: Multiplicity Source #
A Multiplicity
value representing inconsistent expectations.
normalize :: Multiplicity -> Multiplicity Source #
meetsMultiplicity :: Multiplicity -> Int -> Bool Source #
Checks whether a certain number satisfies the Multiplicity
.
once :: Multiplicity Source #
A Multiplicity
that means exactly once.
>>>
meetsMultiplicity once 0
False>>>
meetsMultiplicity once 1
True>>>
meetsMultiplicity once 2
False
anyMultiplicity :: Multiplicity Source #
A Multiplicity
that means any number of times.
>>> meetsMultiplicity anyMultiplicity 0
True
>>> meetsMultiplicity anyMultiplicity 1
True
>>> meetsMultiplicity anyMultiplicity 10
True
atLeast :: Multiplicity -> Multiplicity Source #
A Multiplicity
that means at least this many times.
>>>
meetsMultiplicity (atLeast 2) 1
False>>>
meetsMultiplicity (atLeast 2) 2
True>>>
meetsMultiplicity (atLeast 2) 3
True
atMost :: Multiplicity -> Multiplicity Source #
A Multiplicity
that means at most this many times.
>>>
meetsMultiplicity (atMost 2) 1
True>>>
meetsMultiplicity (atMost 2) 2
True>>>
meetsMultiplicity (atMost 2) 3
False
between :: Multiplicity -> Multiplicity -> Multiplicity Source #
A Multiplicity
that means any number in this interval, endpoints
included. For example,
means 2 or 3 times, while
between
2 3
is equivalent to between
n nn
.
>>>
meetsMultiplicity (between 2 3) 1
False>>>
meetsMultiplicity (between 2 3) 2
True>>>
meetsMultiplicity (between 2 3) 3
True>>>
meetsMultiplicity (between 2 3) 4
False
exhaustable :: Multiplicity -> Bool Source #
Checks whether a Multiplicity
includes zero in its range.
>>>
exhaustable anyMultiplicity
True>>>
exhaustable (atLeast 2)
False>>>
exhaustable (atMost 3)
True>>>
exhaustable (between 0 2)
True
feasible :: Multiplicity -> Bool Source #
Checks whether a Multiplicity
is capable of matching any number at all.
>>>
feasible once
True>>>
feasible 0
True>>>
feasible (once - 2)
False