| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Test.HMock.Internal.Multiplicity
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.
Constructors
| Multiplicity Int (Maybe Int) |
Instances
| Eq Multiplicity Source # | |
Defined in Test.HMock.Internal.Multiplicity | |
| Num Multiplicity Source # | This is an incomplete instance, provided for convenience.
|
Defined in Test.HMock.Internal.Multiplicity Methods (+) :: 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 Methods 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 0False>>>meetsMultiplicity once 1True>>>meetsMultiplicity once 2False
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) 1False>>>meetsMultiplicity (atLeast 2) 2True>>>meetsMultiplicity (atLeast 2) 3True
atMost :: Multiplicity -> Multiplicity Source #
A Multiplicity that means at most this many times.
>>>meetsMultiplicity (atMost 2) 1True>>>meetsMultiplicity (atMost 2) 2True>>>meetsMultiplicity (atMost 2) 3False
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) 1False>>>meetsMultiplicity (between 2 3) 2True>>>meetsMultiplicity (between 2 3) 3True>>>meetsMultiplicity (between 2 3) 4False
exhaustable :: Multiplicity -> Bool Source #
Checks whether a Multiplicity includes zero in its range.
>>>exhaustable anyMultiplicityTrue>>>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 onceTrue>>>feasible 0True>>>feasible (once - 2)False