build checks.x86_64-linux.coverage-report
26.31 s
[really-safe-money-gen] GenValid (ConversionRateOf USD USD)
26.31 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD USD)
26.31 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD USD)'s 0.62 ms
26.31 s
[really-safe-money-gen] passed for all of 100 inputs.
26.31 s
[really-safe-money-gen] Money.ConversionRateSpec
26.31 s
[really-safe-money-gen] oneToOne
26.31 s
[really-safe-money-gen] ✓ is valid 0.00 ms
26.31 s
[really-safe-money-gen] ✓ converts without changing the amount 0.00 ms
26.31 s
[really-safe-money-gen] Rational
26.31 s
[really-safe-money-gen] fromRational
26.31 s
[really-safe-money-gen] ✓ produces valid conversion rates 105.20 ms
26.31 s
[really-safe-money-gen] passed for all of 10000 inputs.
26.31 s
[really-safe-money-gen] ✓ roundtrips with toRational 77.12 ms
26.31 s
[really-safe-money-gen] passed for all of 10000 inputs.
26.31 s
[really-safe-money-gen] toRational
26.31 s
[really-safe-money-gen] ✓ produces valid rationals 60.90 ms
26.31 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.14 s
[really-safe-money-gen] ✓ is invalid when the rate is infinite (denominator zero) 0.01 ms
28.38 s
[really-safe-money-gen] invert
28.38 s
[really-safe-money-gen] ✓ produces valid rates 81.09 ms
28.38 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.38 s
[really-safe-money-gen] GenValid ConversionRate
28.38 s
[really-safe-money-gen] genValid :: Gen ConversionRate
28.38 s
[really-safe-money-gen] ✓ only generates valid 'ConversionRate's 76.68 ms
28.38 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.38 s
[really-safe-money-gen] compose
28.38 s
[really-safe-money-gen] ✓ produces valid rates 141.72 ms
28.38 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.38 s
[really-safe-money-gen] ✓ multiplies the rates 0.00 ms
28.38 s
[really-safe-money-gen] ✓ results in the product of the two rates as ratios 166.61 ms
28.38 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.38 s
[really-safe-money-gen] Ratio
28.38 s
[really-safe-money-gen] toRatio
28.38 s
[really-safe-money-gen] ✓ produces valid ratios 65.00 ms
28.38 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.38 s
[really-safe-money-gen] fromRatio
28.38 s
[really-safe-money-gen] ✓ produces valid conversion rates 89.50 ms
28.38 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.38 s
[really-safe-money-gen] ✓ roundtrips with toRatio 66.56 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] DecimalLiteral
28.39 s
[really-safe-money-gen] fromDecimalLiteral
28.39 s
[really-safe-money-gen] ✓ produces valid conversion rates 132.01 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 2657.97 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] toDecimalLiteral
28.39 s
[really-safe-money-gen] ✓ produces valid literals 2692.01 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is invalid when the rate is zero 0.01 ms
28.39 s
[really-safe-money-gen] Money.CurrencySpec
28.39 s
[really-safe-money-gen] Show Currency and Read Currency
28.39 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 16.49 ms
28.39 s
[really-safe-money-gen] passed for all of 100 inputs.
28.39 s
[really-safe-money-gen] Eq Currency
28.39 s
[really-safe-money-gen] (==) :: Currency -> Currency -> Bool
28.39 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid Currency"s 58.94 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is transitive for "valid Currency"s 48.81 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is reflexive for "valid Currency"s 57.83 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is symmetric for "valid Currency"s 51.36 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] (/=) :: Currency -> Currency -> Bool
28.39 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid Currency"s 52.01 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is antireflexive for "valid Currency"s 49.81 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] Ord Currency
28.39 s
[really-safe-money-gen] (>=) :: Currency -> Currency -> Bool
28.39 s
[really-safe-money-gen] ✓ is antisymmetric for "valid Currency"'s 50.68 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is reflexive for "valid Currency"'s 44.60 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is transitive for "valid Currency"'s 50.78 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid Currency"'s 44.19 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] (<) :: Currency -> Currency -> Bool
28.39 s
[really-safe-money-gen] ✓ is transitive for "valid Currency"'s 52.13 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is antireflexive for "valid Currency"'s 988.02 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == LT) for "valid Currency"'s 56.67 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] (<=) :: Currency -> Currency -> Bool
28.39 s
[really-safe-money-gen] ✓ is transitive for "valid Currency"'s 57.29 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid Currency"'s 509.21 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is antisymmetric for "valid Currency"'s 990.04 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is reflexive for "valid Currency"'s 49.24 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] "min :: (Currency -> Currency -> Currency)"
28.39 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid Currency"'s 1126.35 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] (>) :: Currency -> Currency -> Bool
28.39 s
[really-safe-money-gen] ✓ is transitive for "valid Currency"'s 1113.36 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == GT) for "valid Currency"'s 967.86 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ is antireflexive for "valid Currency"'s 1107.07 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] "max :: (Currency -> Currency -> Currency)"
28.39 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid Currency"'s 1110.53 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] Money.QuantisationFactorSpec
28.39 s
[really-safe-money-gen] digits
28.39 s
[really-safe-money-gen] ✓ produces valid numbers of digits 13.66 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ works on 20 0.01 ms
28.39 s
[really-safe-money-gen] ✓ works on 10 0.00 ms
28.39 s
[really-safe-money-gen] ✓ works on 1 0.00 ms
28.39 s
[really-safe-money-gen] ✓ works on 100 0.00 ms
28.39 s
[really-safe-money-gen] ✓ is invalid when the quantisation factor is zero 0.01 ms
28.39 s
[really-safe-money-gen] DecimalLiteral
28.39 s
[really-safe-money-gen] ✓ can turn quantisation factor 20 into DecimalLiteral Nothing 5 2 0.06 ms
28.39 s
[really-safe-money-gen] ✓ can turn quantisation factor 10 into DecimalLiteral Nothing 1 1 0.06 ms
28.39 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 2 2 into quantisation factor 50 0.11 ms
28.39 s
[really-safe-money-gen] ✓ can turn quantisation factor 50 into DecimalLiteral Nothing 2 2 0.01 ms
28.39 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 5 2 into quantisation factor 20 455.39 ms
28.39 s
[really-safe-money-gen] toDecimalLiteral
28.39 s
[really-safe-money-gen] ✓ roundtrips with fromDecimalLiteral 2921.21 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ produces valid literals 2892.42 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] fromDecimalLiteral
28.39 s
[really-safe-money-gen] ✓ produces valid factors 1120.08 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ fails on a negative literal whose reciprocal would be representable (e.g. -0.05) 0.02 ms
28.39 s
[really-safe-money-gen] ✓ fails on the negative literal -1 0.00 ms
28.39 s
[really-safe-money-gen] ✓ fails to render negative fractionals 687.10 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ fails to render a 0 650.87 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ fails to render a non-1 integer 164.34 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ succeeds on a valid quantisation factor decimal literal (e.g. 0.05 -> QuantisationFactor 20) 0.01 ms
28.39 s
[really-safe-money-gen] ✓ can turn quantisation factor 1 into DecimalLiteral Nothing 1 0 0.01 ms
28.39 s
[really-safe-money-gen] ✓ can turn quantisation factor 100 into DecimalLiteral Nothing 1 2 0.00 ms
28.39 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 1 0 into quantisation factor 1 0.00 ms
28.39 s
[really-safe-money-gen] ✓ can turn quantisation factor 1000 into DecimalLiteral Nothing 1 3 0.00 ms
28.39 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 1 3 into quantisation factor 1000 0.00 ms
28.39 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 1 2 into quantisation factor 100 0.00 ms
28.39 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 1 1 into quantisation factor 10 0.00 ms
28.39 s
[really-safe-money-gen] GenValid QuantisationFactor
28.39 s
[really-safe-money-gen] genValid :: Gen QuantisationFactor
28.39 s
[really-safe-money-gen] ✓ only generates valid 'QuantisationFactor's 18.04 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] fromWord32
28.39 s
[really-safe-money-gen] ✓ produces valid quantisation factors 139.24 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] Money.AccountSpec
28.39 s
[really-safe-money-gen] sum
28.39 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 261.22 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ produces valid amounts 164.61 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ fails to sum above maxBound 0.01 ms
28.39 s
[really-safe-money-gen] ✓ correctly sums [1,2,3] to 6 0.00 ms
28.39 s
[really-safe-money-gen] ✓ fails to sum above maxBound even if the result is back below maxBound 0.00 ms
28.39 s
[really-safe-money-gen] toMinimalQuantisations
28.39 s
[really-safe-money-gen] ✓ produces valid accounts 14.43 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] fromRational
28.39 s
[really-safe-money-gen] ✓ roundtrips with toRational 113.14 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ produces valid rational 137.05 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ represents 0 with a Positive sign 39.14 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] GenValid Account
28.39 s
[really-safe-money-gen] genValid :: Gen Account
28.39 s
[really-safe-money-gen] ✓ only generates valid 'Account's 24.27 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] toRatio
28.39 s
[really-safe-money-gen] ✓ produces valid Ratios when the quantisation factor is nonzero 40.51 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] fromDouble
28.39 s
[really-safe-money-gen] ✓ represents 0 with a Positive sign 24.49 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ roundtrips with toDouble back to double 87.87 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ produces valid rational 50.95 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] fromMinimalQuantisations
28.39 s
[really-safe-money-gen] ✓ fails for values below minBound Word64 negated 0.01 ms
28.39 s
[really-safe-money-gen] ✓ fails for values exceeding maxBound Word64 0.00 ms
28.39 s
[really-safe-money-gen] ✓ returns a Positive result for positive values 0.00 ms
28.39 s
[really-safe-money-gen] ✓ produces valid accounts 35.82 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ returns a Negative result for negative values 0.00 ms
28.39 s
[really-safe-money-gen] ✓ roundtrips with toMinimalQuantisations 37.01 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ returns a Positive result for 0 0.01 ms
28.39 s
[really-safe-money-gen] toRational
28.39 s
[really-safe-money-gen] ✓ produces valid Rationals when the quantisation factor is nonzero 77.77 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ produces an invalid Rational with quantisation factor 0 39.50 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] rate
28.39 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.02 ms
28.39 s
[really-safe-money-gen] ✓ produces valid conversion rates 154.54 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 264.16 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] toDouble
28.39 s
[really-safe-money-gen] ✓ produces an infinite or NaN Double with quantisation factor 0 22.12 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] ✓ produces valid Doubles when the quantisation factor is nonzero 39.22 ms
28.39 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.39 s
[really-safe-money-gen] fraction
28.39 s
[really-safe-money-gen] ✓ Produces a result that has been rounded in the right direction when using RoundDown 222.96 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ produces valid amounts 211.28 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ Produces a result that has been rounded in the right direction when using RoundUp 228.64 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ Produces a result that can be multiplied back 279.65 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ preserves the Positive sign when fractioning a positive account by zero 0.01 ms
28.40 s
[really-safe-money-gen] ✓ Correctly fractions 101 with 1 % 100 0.01 ms
28.40 s
[really-safe-money-gen] ✓ Correctly fractions 100 with 1 % 100 0.01 ms
28.40 s
[really-safe-money-gen] add
28.40 s
[really-safe-money-gen] ✓ fails for maxBound + maxBound 0.00 ms
28.40 s
[really-safe-money-gen] ✓ produces valid amounts 44.27 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 51.81 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ fails for minBound + minBound 0.00 ms
28.40 s
[really-safe-money-gen] ✓ fails for minBound + (-1) 0.00 ms
28.40 s
[really-safe-money-gen] ✓ has a left-identity: zero 45.91 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ fails for maxBound + 1 0.01 ms
28.40 s
[really-safe-money-gen] ✓ is commutative 71.97 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ has a right-identity: zero 33.03 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ is associative when both succeed 79.31 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] Show Account and Read Account
28.40 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 103.77 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] distribute
28.40 s
[really-safe-money-gen] ✓ correctly distributes 5 into 3 0.02 ms
28.40 s
[really-safe-money-gen] Show (Distribution Account) and Read (Distribution Account)
28.40 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 254.91 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ produces valid amounts 50.16 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] Eq (Distribution Account)
28.40 s
[really-safe-money-gen] (==) :: (Distribution Account) -> (Distribution Account) -> Bool
28.40 s
[really-safe-money-gen] ✓ is reflexive for "valid (Distribution Account)"s 30.00 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ is symmetric for "valid (Distribution Account)"s 40.33 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.40 s
[really-safe-money-gen] ✓ is transitive for "valid (Distribution Account)"s 30.53 ms
28.40 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (Distribution Account)"s 38.71 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] (/=) :: (Distribution Account) -> (Distribution Account) -> Bool
28.48 s
[really-safe-money-gen] ✓ is antireflexive for "valid (Distribution Account)"s 38.29 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (Distribution Account)"s 47.74 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] ✓ correctly distributes 10 into 4 0.01 ms
28.48 s
[really-safe-money-gen] ✓ correctly distributes 3 into 3 0.00 ms
28.48 s
[really-safe-money-gen] ✓ produces results that sum up to the greater whole 73.73 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] abs
28.48 s
[really-safe-money-gen] ✓ produces valid amounts 15.15 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] Eq
28.48 s
[really-safe-money-gen] Eq Account
28.48 s
[really-safe-money-gen] (==) :: Account -> Account -> Bool
28.48 s
[really-safe-money-gen] ✓ is transitive for "valid Account"s 28.26 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] ✓ is symmetric for "valid Account"s 20.18 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] ✓ is reflexive for "valid Account"s 12.31 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid Account"s 26.05 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] (/=) :: Account -> Account -> Bool
28.48 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid Account"s 34.91 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] ✓ is antireflexive for "valid Account"s 23.42 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] ✓ says negative 0 equals positive 0 0.01 ms
28.48 s
[really-safe-money-gen] format
28.48 s
[really-safe-money-gen] ✓ produces valid strings 159.91 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.48 s
[really-safe-money-gen] fractionRatio
28.48 s
[really-safe-money-gen] ✓ produces valid amounts 151.30 ms
28.48 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ returns zero when the account is zero 97.23 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] DecimalLiteral
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 600 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} 0.02 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just True) 1 0 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} into DecimalLiteral (Just True) 500 8 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 200 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 3 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just False) 200 2 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 4 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 100 2 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 100 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 10 2 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just False) 600 2 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 500 8 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} 0.01 ms
28.49 s
[really-safe-money-gen] Account.toDecimalLiteral
28.49 s
[really-safe-money-gen] ✓ roundtrips with Account.fromDecimalLiteral 1746.41 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ produces valid decimal literals 1733.23 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just False) 4 2 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just False) 2 0 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just False) 20 2 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 20 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 2 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 3 2 0.01 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 10 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 1 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 500 2 0.00 ms
28.49 s
[really-safe-money-gen] Account.fromDecimalLiteral
28.49 s
[really-safe-money-gen] ✓ fails on this amount that is too precise 0.00 ms
28.49 s
[really-safe-money-gen] ✓ fails on this amount that is too precise 0.00 ms
28.49 s
[really-safe-money-gen] ✓ produces valid factors 132.19 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 500 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} 0.01 ms
28.49 s
[really-safe-money-gen] fromAmount
28.49 s
[really-safe-money-gen] ✓ produces valid accounts 21.99 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] convert
28.49 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 124.38 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.02 ms
28.49 s
[really-safe-money-gen] ✓ produces valid amounts 390.52 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] negate
28.49 s
[really-safe-money-gen] ✓ produces valid amounts 17.54 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] fromRatio
28.49 s
[really-safe-money-gen] ✓ roundtrips with toRatio 41.69 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ produces valid rational 116.93 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] Ord
28.49 s
[really-safe-money-gen] ✓ says -3 is smaller than 2 0.01 ms
28.49 s
[really-safe-money-gen] ✓ says 4 is smaller than 5 0.00 ms
28.49 s
[really-safe-money-gen] Ord Account
28.49 s
[really-safe-money-gen] (<) :: Account -> Account -> Bool
28.49 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == LT) for "valid Account"'s 38.60 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is transitive for "valid Account"'s 28.33 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is antireflexive for "valid Account"'s 13.79 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] (>) :: Account -> Account -> Bool
28.49 s
[really-safe-money-gen] ✓ is antireflexive for "valid Account"'s 15.97 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is transitive for "valid Account"'s 19.97 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == GT) for "valid Account"'s 33.79 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] "max :: (Account -> Account -> Account)"
28.49 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid Account"'s 44.47 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] (<=) :: Account -> Account -> Bool
28.49 s
[really-safe-money-gen] ✓ is reflexive for "valid Account"'s 26.43 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is transitive for "valid Account"'s 28.41 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid Account"'s 32.29 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is antisymmetric for "valid Account"'s 23.38 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] (>=) :: Account -> Account -> Bool
28.49 s
[really-safe-money-gen] ✓ is reflexive for "valid Account"'s 22.36 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid Account"'s 44.11 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is antisymmetric for "valid Account"'s 27.57 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is transitive for "valid Account"'s 29.74 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] "min :: (Account -> Account -> Account)"
28.49 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid Account"'s 39.95 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ says -6 is greater than -7 0.00 ms
28.49 s
[really-safe-money-gen] multiply
28.49 s
[really-safe-money-gen] ✓ succeeds for 3 * 6 0.01 ms
28.49 s
[really-safe-money-gen] ✓ produces valid amounts 36.68 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is absorbed by 0 23.46 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 46.60 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ is distributive with add when both succeed 70.24 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] ✓ fails for 2 * maxbound 0.01 ms
28.49 s
[really-safe-money-gen] ✓ fails for 3 * minBound 0.00 ms
28.49 s
[really-safe-money-gen] ✓ has an identity: 1 33.92 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] subtract
28.49 s
[really-safe-money-gen] ✓ fails for maxBound - minBound 0.01 ms
28.49 s
[really-safe-money-gen] ✓ fails for minBound - 1 0.00 ms
28.49 s
[really-safe-money-gen] ✓ fails for minBound - maxBound 0.00 ms
28.49 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 49.72 ms
28.49 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.49 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
28.49 s
[really-safe-money-gen] DecimalLiteral.fromString
28.49 s
[really-safe-money-gen] ✓ parses a decimal number with a fractional part 0.23 ms
28.49 s
[really-safe-money-gen] ✓ can parse any rendered decimal literal 9.46 ms
28.49 s
[really-safe-money-gen] passed for all of 100 inputs.
28.49 s
[really-safe-money-gen] ✓ parses an integer followed by non-digit characters (stops at the non-digit) 0.05 ms
28.49 s
[really-safe-money-gen] ✓ fails to parse scientific notation 0.00 ms
28.49 s
[really-safe-money-gen] IsString
28.49 s
[really-safe-money-gen] ✓ parses a valid literal via OverloadedStrings 0.02 ms
28.49 s
[really-safe-money-gen] ✓ throws an informative error for an invalid string literal 0.02 ms
28.49 s
[really-safe-money-gen] toString
28.49 s
[really-safe-money-gen] ✓ can render any decimal literal 1.51 ms
28.49 s
[really-safe-money-gen] passed for all of 100 inputs.
28.49 s
[really-safe-money-gen] Ratio
28.49 s
[really-safe-money-gen] fromRatio
28.49 s
[really-safe-money-gen] ✓ renders to valid decimal literals 20.10 ms
28.49 s
[really-safe-money-gen] passed for all of 100 inputs.
28.49 s
[really-safe-money-gen] ✓ fails at the 256-digit limit (1 / 2^256 needs 256 fractional digits) 0.16 ms
28.49 s
[really-safe-money-gen] ✓ can parse any rendered rational 8.16 ms
28.49 s
[really-safe-money-gen] passed for all of 100 inputs.
28.49 s
[really-safe-money-gen] toRatio
28.49 s
[really-safe-money-gen] ✓ renders to valid rationals 0.50 ms
28.49 s
[really-safe-money-gen] passed for all of 100 inputs.
28.49 s
[really-safe-money-gen] ✓ gives 1 % 10 for DecimalLiteral Nothing 1 1 0.00 ms
28.49 s
[really-safe-money-gen] ✓ gives Nothing for a negative literal 0.00 ms
28.49 s
[really-safe-money-gen] Rational
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 1 3 into rational (-1) % 1000 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 300 5 into rational (-3) % 1000 0.00 ms
28.49 s
[really-safe-money-gen] fromRational
28.49 s
[really-safe-money-gen] ✓ renders -3 with a negative sign 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can parse any rendered rational 9.18 ms
28.49 s
[really-safe-money-gen] passed for all of 100 inputs.
28.49 s
[really-safe-money-gen] ✓ renders to valid decimal literals 27.35 ms
28.49 s
[really-safe-money-gen] passed for all of 100 inputs.
28.49 s
[really-safe-money-gen] ✓ renders -1 with a negative sign 0.01 ms
28.49 s
[really-safe-money-gen] ✓ renders 0 as a non-negative literal 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational (-1) % 1000 into DecimalLiteral (Just False) 1 3 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 8 1 into rational (-4) % 5 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational (-6) % 1 into DecimalLiteral (Just False) 6 0 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational 240009 % 20000 into DecimalLiteral Nothing 1200045 5 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational 2 % 1 into DecimalLiteral Nothing 2 0 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 10 0 into rational 10 % 1 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational (-3) % 1 into DecimalLiteral (Just False) 3 0 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 9 2 into rational 9 % 100 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 2 0 into rational 2 % 1 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 20 4 into rational 1 % 500 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational 1 % 500 into DecimalLiteral Nothing 2 3 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational 7 % 1 into DecimalLiteral Nothing 7 0 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 50 1 into rational 5 % 1 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 1 0 into rational 1 % 1 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational 5 % 1 into DecimalLiteral Nothing 5 0 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational 1 % 1 into DecimalLiteral Nothing 1 0 0.00 ms
28.49 s
[really-safe-money-gen] ✓ can turn rational 9 % 100 into DecimalLiteral Nothing 9 2 0.00 ms
28.50 s
[really-safe-money-gen] toRational
28.50 s
[really-safe-money-gen] ✓ renders to valid rationals 2.69 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ can turn rational 10 % 1 into DecimalLiteral Nothing 10 0 0.01 ms
28.50 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 400 0 into rational 400 % 1 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 1200045 5 into rational 240009 % 20000 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can turn DecimalLiteral Nothing 7000 3 into rational 7 % 1 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 600 2 into rational (-6) % 1 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can turn rational (-3) % 1000 into DecimalLiteral (Just False) 3 3 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can turn rational (-4) % 5 into DecimalLiteral (Just False) 8 1 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just False) 3 0 into rational (-3) % 1 0.01 ms
28.50 s
[really-safe-money-gen] DecimalLiteral.fromStringM
28.50 s
[really-safe-money-gen] ✓ fails when fromString fails 0.04 ms
28.50 s
[really-safe-money-gen] ✓ succeeds when fromString succeeds 0.01 ms
28.50 s
[really-safe-money-gen] ✓ does the same as DecimalLiteral.fromString 0.25 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] GenValid DecimalLiteral
28.50 s
[really-safe-money-gen] genValid :: Gen DecimalLiteral
28.50 s
[really-safe-money-gen] ✓ only generates valid 'DecimalLiteral's 0.17 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] setSignRequired
28.50 s
[really-safe-money-gen] ✓ does not change an existing positive sign 0.00 ms
28.50 s
[really-safe-money-gen] ✓ turns a Nothing sign into Just True (positive) 0.00 ms
28.50 s
[really-safe-money-gen] ✓ produces valid values 0.17 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ does not change an existing negative sign 0.00 ms
28.50 s
[really-safe-money-gen] examples
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 1200045 5 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 9 2 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 300 5 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 8 1 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 20 4 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 1 0 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "5.0" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "6.00" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "12.00045" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "0.00300" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "1" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 400 0 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "7.000" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral (Just False) 3 0 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 600 2 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "-3" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "0.001" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral (Just True) 2 0 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "0.09" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "0.0020" 0.14 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 7000 3 0.01 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 1 3 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "400" 0.01 ms
28.50 s
[really-safe-money-gen] ✓ can parse "0.8" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse "+2" 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can render DecimalLiteral Nothing 50 1 0.00 ms
28.50 s
[really-safe-money-gen] setSignOptional
28.50 s
[really-safe-money-gen] ✓ produces valid values 0.21 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] Natural
28.50 s
[really-safe-money-gen] toNatural
28.50 s
[really-safe-money-gen] ✓ renders to valid naturals 0.18 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] fromNatural
28.50 s
[really-safe-money-gen] ✓ renders to valid decimal literals 0.21 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.19 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] digits
28.50 s
[really-safe-money-gen] ✓ produces valid numbers of digits 0.21 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] Int
28.50 s
[really-safe-money-gen] toInt
28.50 s
[really-safe-money-gen] ✓ fails on a value exceeding maxBound Int 0.05 ms
28.50 s
[really-safe-money-gen] ✓ renders to valid words 0.36 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ succeeds on minBound Int 0.03 ms
28.50 s
[really-safe-money-gen] ✓ fails on a value below minBound Int 0.00 ms
28.50 s
[really-safe-money-gen] ✓ succeeds on maxBound Int 0.00 ms
28.50 s
[really-safe-money-gen] fromInt
28.50 s
[really-safe-money-gen] ✓ renders to valid decimal literals 7.07 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.15 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] Integer
28.50 s
[really-safe-money-gen] fromInteger
28.50 s
[really-safe-money-gen] ✓ represents positive integers with no sign 0.00 ms
28.50 s
[really-safe-money-gen] ✓ represents negative integers with Just False sign 0.00 ms
28.50 s
[really-safe-money-gen] ✓ renders to valid decimal literals 0.14 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ represents 0 without a negative sign 0.00 ms
28.50 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.18 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] toInteger
28.50 s
[really-safe-money-gen] ✓ renders to valid words 0.15 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] Word
28.50 s
[really-safe-money-gen] toWord
28.50 s
[really-safe-money-gen] ✓ fails on a value exceeding maxBound Word 0.00 ms
28.50 s
[really-safe-money-gen] ✓ renders to valid words 0.16 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ succeeds on maxBound Word 0.00 ms
28.50 s
[really-safe-money-gen] fromWord
28.50 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.12 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ renders to valid decimal literals 0.11 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] setMinimumDigits
28.50 s
[really-safe-money-gen] ✓ produces valid literals 0.60 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ produces values with more than the given number of digits 0.98 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ does not change the value of the literal 5.80 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] Money.AmountOfSpec
28.50 s
[really-safe-money-gen] INR
28.50 s
[really-safe-money-gen] fromDecimalLiteral
28.50 s
[really-safe-money-gen] ✓ produces valid amounts 5.51 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ parses the integer literal 1 as one whole unit 0.02 ms
28.50 s
[really-safe-money-gen] GenValid (AmountOf * INR)
28.50 s
[really-safe-money-gen] genValid :: Gen (AmountOf * INR)
28.50 s
[really-safe-money-gen] ✓ only generates valid '(AmountOf * INR)'s 0.11 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] fromMinimalQuantisations
28.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.10 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] INR
28.50 s
[really-safe-money-gen] convert
28.50 s
[really-safe-money-gen] ✓ produces valid amounts 6.51 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] rate
28.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.81 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] add
28.50 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.25 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ has a right-identity: zero 0.19 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ is associative when both succeed 3.67 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ has a left-identity: zero 0.17 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ is commutative 0.20 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] subtract
28.50 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.65 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] format
28.50 s
[really-safe-money-gen] ✓ produces valid strings 1.10 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] toRatio
28.50 s
[really-safe-money-gen] ✓ produces valid Rationals when the quantisation factor is nonzero 0.40 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] multiply
28.50 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.45 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ is distributive with add when both succeed 0.25 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ is absorbed by 0 0.14 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] ✓ has an identity: 1 2.04 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] fraction
28.50 s
[really-safe-money-gen] ✓ produces valid amounts 3.89 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] USD
28.50 s
[really-safe-money-gen] rate
28.50 s
[really-safe-money-gen] ✓ produces valid amounts 2.60 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] convert
28.50 s
[really-safe-money-gen] ✓ produces valid amounts 2.43 ms
28.50 s
[really-safe-money-gen] passed for all of 100 inputs.
28.50 s
[really-safe-money-gen] BTC
28.50 s
[really-safe-money-gen] convert
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 3.21 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] rate
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.72 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] fromDouble
28.51 s
[really-safe-money-gen] ✓ fails on NaN 0.04 ms
28.51 s
[really-safe-money-gen] ✓ succeeds on 1 0.01 ms
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ fails on -Infinity 0.01 ms
28.51 s
[really-safe-money-gen] ✓ succeeds on 0 0.00 ms
28.51 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.51 s
[really-safe-money-gen] ✓ fails on -1 0.00 ms
28.51 s
[really-safe-money-gen] Ord (AmountOf * INR)
28.51 s
[really-safe-money-gen] "min :: (AmountOf * INR -> AmountOf * INR -> AmountOf * INR)"
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid (AmountOf * INR)"'s 0.14 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] (<=) :: (AmountOf * INR) -> (AmountOf * INR) -> Bool
28.51 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * INR)"'s 0.17 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid (AmountOf * INR)"'s 0.13 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * INR)"'s 0.17 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * INR)"'s 0.16 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] (>=) :: (AmountOf * INR) -> (AmountOf * INR) -> Bool
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid (AmountOf * INR)"'s 0.26 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * INR)"'s 0.20 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * INR)"'s 0.16 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * INR)"'s 0.19 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] (>) :: (AmountOf * INR) -> (AmountOf * INR) -> Bool
28.51 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * INR)"'s 0.18 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * INR)"'s 0.23 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == GT) for "valid (AmountOf * INR)"'s 0.22 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] "max :: (AmountOf * INR -> AmountOf * INR -> AmountOf * INR)"
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid (AmountOf * INR)"'s 0.20 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] (<) :: (AmountOf * INR) -> (AmountOf * INR) -> Bool
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == LT) for "valid (AmountOf * INR)"'s 0.22 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * INR)"'s 0.18 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * INR)"'s 0.17 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] zero
28.51 s
[really-safe-money-gen] ✓ is valid 0.00 ms
28.51 s
[really-safe-money-gen] fromRational
28.51 s
[really-safe-money-gen] ✓ succeeds on 1 5.07 ms
28.51 s
[really-safe-money-gen] ✓ fails on +Infinity 0.63 ms
28.51 s
[really-safe-money-gen] ✓ succeeds on 0 5.00 ms
28.51 s
[really-safe-money-gen] ✓ produces valid Amounts 5.63 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ fails on -Infinity 0.53 ms
28.51 s
[really-safe-money-gen] ✓ roundtrips with toRational 5.22 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ fails on -1 0.00 ms
28.51 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.51 s
[really-safe-money-gen] toDouble
28.51 s
[really-safe-money-gen] ✓ produces valid Doubles 5.64 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] toMinimalQuantisations
28.51 s
[really-safe-money-gen] ✓ roundtrips with fromMinimalQuantisations 0.09 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ produces valid Int64s 0.09 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] sum
28.51 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 9.04 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 5.36 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] toDecimalLiteral
28.51 s
[really-safe-money-gen] ✓ produces valid decimal literals 3.85 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ roundtrips an amount through its decimal literal 3.61 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] Show (AmountOf * INR) and Read (AmountOf * INR)
28.51 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 1.37 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ADA
28.51 s
[really-safe-money-gen] rate
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.85 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] convert
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.04 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] Eq (AmountOf * INR)
28.51 s
[really-safe-money-gen] (==) :: (AmountOf * INR) -> (AmountOf * INR) -> Bool
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (AmountOf * INR)"s 0.24 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is symmetric for "valid (AmountOf * INR)"s 0.18 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * INR)"s 0.16 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * INR)"s 0.17 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] (/=) :: (AmountOf * INR) -> (AmountOf * INR) -> Bool
28.51 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * INR)"s 0.08 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (AmountOf * INR)"s 0.14 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] toRational
28.51 s
[really-safe-money-gen] ✓ produces valid Rationals 0.51 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] fromRatio
28.51 s
[really-safe-money-gen] ✓ produces valid AmountOfs 2.10 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ succeeds on 77 0.59 ms
28.51 s
[really-safe-money-gen] ✓ fails on 7.123 0.19 ms
28.51 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.51 s
[really-safe-money-gen] ✓ succeeds on 0 0.08 ms
28.51 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.31 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.51 s
[really-safe-money-gen] ✓ succeeds on 1 0.00 ms
28.51 s
[really-safe-money-gen] distribute
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.79 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] Show (Distribution (AmountOf * INR)) and Read (Distribution (AmountOf * INR))
28.51 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 1.93 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ produces results that sum up to the greater whole 0.79 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] Eq (Distribution (AmountOf * INR))
28.51 s
[really-safe-money-gen] (==) :: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool
28.51 s
[really-safe-money-gen] ✓ is transitive for "valid (Distribution (AmountOf * INR))"s 0.25 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is symmetric for "valid (Distribution (AmountOf * INR))"s 1.13 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (Distribution (AmountOf * INR))"s 0.39 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is reflexive for "valid (Distribution (AmountOf * INR))"s 0.19 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] (/=) :: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool
28.51 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (Distribution (AmountOf * INR))"s 0.18 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is antireflexive for "valid (Distribution (AmountOf * INR))"s 0.11 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] CHF
28.51 s
[really-safe-money-gen] rate
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.52 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] convert
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.58 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ADA
28.51 s
[really-safe-money-gen] toRatio
28.51 s
[really-safe-money-gen] ✓ produces valid Rationals when the quantisation factor is nonzero 0.24 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] USD
28.51 s
[really-safe-money-gen] rate
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.10 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] convert
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 2.77 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] toRational
28.51 s
[really-safe-money-gen] ✓ produces valid Rationals 0.58 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] subtract
28.51 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.52 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] multiply
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.47 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ has an identity: 1 0.33 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is distributive with add when both succeed 0.24 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.30 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is absorbed by 0 0.25 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] format
28.51 s
[really-safe-money-gen] ✓ produces valid strings 1.51 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] toDecimalLiteral
28.51 s
[really-safe-money-gen] ✓ produces valid decimal literals 0.49 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ roundtrips an amount through its decimal literal 1.51 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] add
28.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.29 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ has a left-identity: zero 0.25 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.36 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ has a right-identity: zero 0.17 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.51 s
[really-safe-money-gen] ✓ is commutative 0.35 ms
28.51 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is associative when both succeed 0.45 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] fromDouble
28.52 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.52 s
[really-safe-money-gen] ✓ fails on -1 0.00 ms
28.52 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.52 s
[really-safe-money-gen] ✓ fails on -Infinity 0.00 ms
28.52 s
[really-safe-money-gen] ✓ succeeds on 1 0.01 ms
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.34 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ succeeds on 0 0.00 ms
28.52 s
[really-safe-money-gen] INR
28.52 s
[really-safe-money-gen] rate
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.53 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] convert
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 1.27 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] toMinimalQuantisations
28.52 s
[really-safe-money-gen] ✓ roundtrips with fromMinimalQuantisations 0.18 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ produces valid Int64s 0.16 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] Eq (AmountOf * ADA)
28.52 s
[really-safe-money-gen] (/=) :: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (AmountOf * ADA)"s 0.25 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * ADA)"s 0.14 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] (==) :: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (AmountOf * ADA)"s 0.24 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is symmetric for "valid (AmountOf * ADA)"s 0.23 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * ADA)"s 0.12 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * ADA)"s 0.21 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] CHF
28.52 s
[really-safe-money-gen] convert
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 1.83 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] rate
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.75 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] fromRational
28.52 s
[really-safe-money-gen] ✓ succeeds on 1 0.01 ms
28.52 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.52 s
[really-safe-money-gen] ✓ fails on -1 0.00 ms
28.52 s
[really-safe-money-gen] ✓ fails on -Infinity 0.00 ms
28.52 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.69 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ produces valid Amounts 0.79 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ succeeds on 0 0.01 ms
28.52 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.52 s
[really-safe-money-gen] sum
28.52 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 1.09 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 1.39 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ADA
28.52 s
[really-safe-money-gen] rate
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.65 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] convert
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 1.32 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] BTC
28.52 s
[really-safe-money-gen] convert
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 1.37 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] rate
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.88 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] fromRatio
28.52 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.52 s
[really-safe-money-gen] ✓ succeeds on 0 0.01 ms
28.52 s
[really-safe-money-gen] ✓ fails on 7.123 0.00 ms
28.52 s
[really-safe-money-gen] ✓ succeeds on 1 0.00 ms
28.52 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.52 s
[really-safe-money-gen] ✓ succeeds on 77 0.00 ms
28.52 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.60 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ produces valid AmountOfs 0.57 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] Ord (AmountOf * ADA)
28.52 s
[really-safe-money-gen] "min :: (AmountOf * ADA -> AmountOf * ADA -> AmountOf * ADA)"
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid (AmountOf * ADA)"'s 0.14 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] "max :: (AmountOf * ADA -> AmountOf * ADA -> AmountOf * ADA)"
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid (AmountOf * ADA)"'s 0.19 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] (>) :: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool
28.52 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * ADA)"'s 0.17 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * ADA)"'s 0.23 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == GT) for "valid (AmountOf * ADA)"'s 0.14 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] (>=) :: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid (AmountOf * ADA)"'s 0.13 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * ADA)"'s 0.10 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * ADA)"'s 0.16 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * ADA)"'s 0.15 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] (<) :: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool
28.52 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * ADA)"'s 0.20 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * ADA)"'s 0.09 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == LT) for "valid (AmountOf * ADA)"'s 0.14 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] (<=) :: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool
28.52 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * ADA)"'s 0.23 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid (AmountOf * ADA)"'s 0.14 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * ADA)"'s 0.14 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * ADA)"'s 0.13 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] fromDecimalLiteral
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 4.06 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ parses the integer literal 1 as one whole unit 0.01 ms
28.52 s
[really-safe-money-gen] fromMinimalQuantisations
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.11 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] distribute
28.52 s
[really-safe-money-gen] Show (Distribution (AmountOf * ADA)) and Read (Distribution (AmountOf * ADA))
28.52 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 3.00 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] Eq (Distribution (AmountOf * ADA))
28.52 s
[really-safe-money-gen] (==) :: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (Distribution (AmountOf * ADA))"s 0.17 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is reflexive for "valid (Distribution (AmountOf * ADA))"s 0.19 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is transitive for "valid (Distribution (AmountOf * ADA))"s 0.23 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is symmetric for "valid (Distribution (AmountOf * ADA))"s 0.31 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] (/=) :: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool
28.52 s
[really-safe-money-gen] ✓ is antireflexive for "valid (Distribution (AmountOf * ADA))"s 0.12 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (Distribution (AmountOf * ADA))"s 0.22 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ produces results that sum up to the greater whole 0.56 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 1.34 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] toDouble
28.52 s
[really-safe-money-gen] ✓ produces valid Doubles 0.24 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] GenValid (AmountOf * ADA)
28.52 s
[really-safe-money-gen] genValid :: Gen (AmountOf * ADA)
28.52 s
[really-safe-money-gen] ✓ only generates valid '(AmountOf * ADA)'s 0.44 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] Show (AmountOf * ADA) and Read (AmountOf * ADA)
28.52 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 1.74 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] zero
28.52 s
[really-safe-money-gen] ✓ is valid 0.00 ms
28.52 s
[really-safe-money-gen] fraction
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 1.22 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] CHF
28.52 s
[really-safe-money-gen] sum
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.62 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.87 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] toDecimalLiteral
28.52 s
[really-safe-money-gen] ✓ roundtrips an amount through its decimal literal 0.62 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ produces valid decimal literals 0.61 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] format
28.52 s
[really-safe-money-gen] ✓ produces valid strings 1.02 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] INR
28.52 s
[really-safe-money-gen] convert
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 1.31 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] rate
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.69 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] add
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.51 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is commutative 0.51 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ is associative when both succeed 0.55 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.27 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ has a left-identity: zero 0.13 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] ✓ has a right-identity: zero 0.12 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] GenValid (AmountOf * CHF)
28.52 s
[really-safe-money-gen] genValid :: Gen (AmountOf * CHF)
28.52 s
[really-safe-money-gen] ✓ only generates valid '(AmountOf * CHF)'s 0.12 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] Show (AmountOf * CHF) and Read (AmountOf * CHF)
28.52 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 0.93 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] fromMinimalQuantisations
28.52 s
[really-safe-money-gen] ✓ produces valid amounts 0.10 ms
28.52 s
[really-safe-money-gen] passed for all of 100 inputs.
28.52 s
[really-safe-money-gen] fromRational
28.52 s
[really-safe-money-gen] ✓ fails on -1 0.01 ms
28.53 s
[really-safe-money-gen] ✓ fails on -Infinity 0.00 ms
28.53 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.25 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.53 s
[really-safe-money-gen] ✓ produces valid Amounts 0.80 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ succeeds on 0 0.00 ms
28.53 s
[really-safe-money-gen] ✓ succeeds on 1 0.01 ms
28.53 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.53 s
[really-safe-money-gen] zero
28.53 s
[really-safe-money-gen] ✓ is valid 0.00 ms
28.53 s
[really-safe-money-gen] fromDecimalLiteral
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.61 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ parses the integer literal 1 as one whole unit 0.00 ms
28.53 s
[really-safe-money-gen] toDouble
28.53 s
[really-safe-money-gen] ✓ produces valid Doubles 0.11 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] distribute
28.53 s
[really-safe-money-gen] Eq (Distribution (AmountOf * CHF))
28.53 s
[really-safe-money-gen] (/=) :: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (Distribution (AmountOf * CHF))"s 0.17 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is antireflexive for "valid (Distribution (AmountOf * CHF))"s 0.20 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] (==) :: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool
28.53 s
[really-safe-money-gen] ✓ is symmetric for "valid (Distribution (AmountOf * CHF))"s 0.15 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is transitive for "valid (Distribution (AmountOf * CHF))"s 0.15 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is reflexive for "valid (Distribution (AmountOf * CHF))"s 0.12 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (Distribution (AmountOf * CHF))"s 0.16 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] Show (Distribution (AmountOf * CHF)) and Read (Distribution (AmountOf * CHF))
28.53 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 2.96 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ produces results that sum up to the greater whole 0.28 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] CHF
28.53 s
[really-safe-money-gen] convert
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 1.26 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] rate
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.61 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] BTC
28.53 s
[really-safe-money-gen] convert
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 1.37 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] rate
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.53 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] toRatio
28.53 s
[really-safe-money-gen] ✓ produces valid Rationals when the quantisation factor is nonzero 0.17 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] fromRatio
28.53 s
[really-safe-money-gen] ✓ succeeds on 1 0.01 ms
28.53 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.53 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.25 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ fails on 7.123 0.01 ms
28.53 s
[really-safe-money-gen] ✓ succeeds on 77 0.00 ms
28.53 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.53 s
[really-safe-money-gen] ✓ produces valid AmountOfs 0.79 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ succeeds on 0 0.00 ms
28.53 s
[really-safe-money-gen] toRational
28.53 s
[really-safe-money-gen] ✓ produces valid Rationals 0.20 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] subtract
28.53 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.25 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] fromDouble
28.53 s
[really-safe-money-gen] ✓ fails on -Infinity 0.00 ms
28.53 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.53 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.53 s
[really-safe-money-gen] ✓ succeeds on 0 0.00 ms
28.53 s
[really-safe-money-gen] ✓ succeeds on 1 0.00 ms
28.53 s
[really-safe-money-gen] ✓ fails on -1 0.00 ms
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] Ord (AmountOf * CHF)
28.53 s
[really-safe-money-gen] "max :: (AmountOf * CHF -> AmountOf * CHF -> AmountOf * CHF)"
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid (AmountOf * CHF)"'s 0.12 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] (<) :: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool
28.53 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * CHF)"'s 0.09 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * CHF)"'s 0.10 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == LT) for "valid (AmountOf * CHF)"'s 0.12 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] "min :: (AmountOf * CHF -> AmountOf * CHF -> AmountOf * CHF)"
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid (AmountOf * CHF)"'s 0.12 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] (>=) :: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool
28.53 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * CHF)"'s 0.10 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * CHF)"'s 0.10 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * CHF)"'s 0.08 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid (AmountOf * CHF)"'s 0.11 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] (>) :: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool
28.53 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * CHF)"'s 0.10 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * CHF)"'s 0.08 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == GT) for "valid (AmountOf * CHF)"'s 0.11 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] (<=) :: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool
28.53 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * CHF)"'s 0.11 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * CHF)"'s 0.09 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid (AmountOf * CHF)"'s 0.12 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * CHF)"'s 0.11 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] Eq (AmountOf * CHF)
28.53 s
[really-safe-money-gen] (==) :: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (AmountOf * CHF)"s 0.12 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * CHF)"s 0.08 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * CHF)"s 0.09 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is symmetric for "valid (AmountOf * CHF)"s 0.09 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] (/=) :: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool
28.53 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * CHF)"s 0.08 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (AmountOf * CHF)"s 0.11 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] USD
28.53 s
[really-safe-money-gen] rate
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.56 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] convert
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 2.61 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] fraction
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.95 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] toMinimalQuantisations
28.53 s
[really-safe-money-gen] ✓ produces valid Int64s 0.10 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ roundtrips with fromMinimalQuantisations 0.10 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] multiply
28.53 s
[really-safe-money-gen] ✓ is absorbed by 0 0.12 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is distributive with add when both succeed 0.25 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.23 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ has an identity: 1 0.12 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.15 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ADA
28.53 s
[really-safe-money-gen] convert
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 1.30 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] rate
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 1.02 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] USD
28.53 s
[really-safe-money-gen] toRatio
28.53 s
[really-safe-money-gen] ✓ produces valid Rationals when the quantisation factor is nonzero 0.19 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] Show (AmountOf * USD) and Read (AmountOf * USD)
28.53 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 0.90 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] INR
28.53 s
[really-safe-money-gen] rate
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.49 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] convert
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 1.56 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] distribute
28.53 s
[really-safe-money-gen] Eq (Distribution (AmountOf * USD))
28.53 s
[really-safe-money-gen] (/=) :: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool
28.53 s
[really-safe-money-gen] ✓ is antireflexive for "valid (Distribution (AmountOf * USD))"s 0.19 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (Distribution (AmountOf * USD))"s 0.16 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] (==) :: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (Distribution (AmountOf * USD))"s 0.29 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is transitive for "valid (Distribution (AmountOf * USD))"s 0.20 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is reflexive for "valid (Distribution (AmountOf * USD))"s 0.10 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is symmetric for "valid (Distribution (AmountOf * USD))"s 0.13 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] Show (Distribution (AmountOf * USD)) and Read (Distribution (AmountOf * USD))
28.53 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 1.94 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ produces valid amounts 0.23 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ produces results that sum up to the greater whole 0.33 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] Eq (AmountOf * USD)
28.53 s
[really-safe-money-gen] (==) :: (AmountOf * USD) -> (AmountOf * USD) -> Bool
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (AmountOf * USD)"s 0.11 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * USD)"s 0.17 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * USD)"s 0.08 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] ✓ is symmetric for "valid (AmountOf * USD)"s 0.13 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.53 s
[really-safe-money-gen] (/=) :: (AmountOf * USD) -> (AmountOf * USD) -> Bool
28.53 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (AmountOf * USD)"s 0.12 ms
28.53 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * USD)"s 0.18 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] fromRatio
28.54 s
[really-safe-money-gen] ✓ succeeds on 1 0.01 ms
28.54 s
[really-safe-money-gen] ✓ fails on 7.123 0.01 ms
28.54 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.54 s
[really-safe-money-gen] ✓ produces valid AmountOfs 0.89 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ succeeds on 77 0.00 ms
28.54 s
[really-safe-money-gen] ✓ succeeds on 0 0.00 ms
28.54 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.54 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.48 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] fromRational
28.54 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.54 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.54 s
[really-safe-money-gen] ✓ succeeds on 0 0.00 ms
28.54 s
[really-safe-money-gen] ✓ fails on -1 0.00 ms
28.54 s
[really-safe-money-gen] ✓ produces valid Amounts 0.72 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ fails on -Infinity 0.00 ms
28.54 s
[really-safe-money-gen] ✓ succeeds on 1 0.01 ms
28.54 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.29 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] zero
28.54 s
[really-safe-money-gen] ✓ is valid 0.00 ms
28.54 s
[really-safe-money-gen] BTC
28.54 s
[really-safe-money-gen] rate
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.84 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] convert
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.30 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] format
28.54 s
[really-safe-money-gen] ✓ produces valid strings 0.76 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] toDouble
28.54 s
[really-safe-money-gen] ✓ produces valid Doubles 0.24 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] sum
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.89 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.61 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] CHF
28.54 s
[really-safe-money-gen] rate
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 2.61 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] convert
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.52 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] toRational
28.54 s
[really-safe-money-gen] ✓ produces valid Rationals 0.21 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] fromMinimalQuantisations
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.15 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] toDecimalLiteral
28.54 s
[really-safe-money-gen] ✓ roundtrips an amount through its decimal literal 1.12 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ produces valid decimal literals 0.73 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] GenValid (AmountOf * USD)
28.54 s
[really-safe-money-gen] genValid :: Gen (AmountOf * USD)
28.54 s
[really-safe-money-gen] ✓ only generates valid '(AmountOf * USD)'s 0.11 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ADA
28.54 s
[really-safe-money-gen] rate
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.76 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] convert
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.32 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] toMinimalQuantisations
28.54 s
[really-safe-money-gen] ✓ roundtrips with fromMinimalQuantisations 0.10 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ produces valid Int64s 0.10 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] fromDouble
28.54 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ fails on -1 0.00 ms
28.54 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.54 s
[really-safe-money-gen] ✓ fails on -Infinity 0.00 ms
28.54 s
[really-safe-money-gen] ✓ succeeds on 0 0.00 ms
28.54 s
[really-safe-money-gen] ✓ succeeds on 1 0.00 ms
28.54 s
[really-safe-money-gen] fraction
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.69 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] subtract
28.54 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.19 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] add
28.54 s
[really-safe-money-gen] ✓ has a left-identity: zero 0.12 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is commutative 0.27 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ has a right-identity: zero 0.12 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.31 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is associative when both succeed 0.26 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] fromDecimalLiteral
28.54 s
[really-safe-money-gen] ✓ parses the integer literal 1 as one whole unit 0.01 ms
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.07 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] USD
28.54 s
[really-safe-money-gen] convert
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.21 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] rate
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.80 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] Ord (AmountOf * USD)
28.54 s
[really-safe-money-gen] "min :: (AmountOf * USD -> AmountOf * USD -> AmountOf * USD)"
28.54 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid (AmountOf * USD)"'s 2.36 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] (>) :: (AmountOf * USD) -> (AmountOf * USD) -> Bool
28.54 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * USD)"'s 0.37 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == GT) for "valid (AmountOf * USD)"'s 0.39 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * USD)"'s 0.10 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] (<=) :: (AmountOf * USD) -> (AmountOf * USD) -> Bool
28.54 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * USD)"'s 0.11 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid (AmountOf * USD)"'s 0.13 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * USD)"'s 0.10 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * USD)"'s 0.15 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] (<) :: (AmountOf * USD) -> (AmountOf * USD) -> Bool
28.54 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * USD)"'s 0.11 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == LT) for "valid (AmountOf * USD)"'s 0.12 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * USD)"'s 0.11 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] "max :: (AmountOf * USD -> AmountOf * USD -> AmountOf * USD)"
28.54 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid (AmountOf * USD)"'s 0.13 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] (>=) :: (AmountOf * USD) -> (AmountOf * USD) -> Bool
28.54 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid (AmountOf * USD)"'s 0.16 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * USD)"'s 0.08 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * USD)"'s 0.14 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * USD)"'s 0.10 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] multiply
28.54 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.21 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is absorbed by 0 0.12 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ has an identity: 1 0.18 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ is distributive with add when both succeed 0.35 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] BTC
28.54 s
[really-safe-money-gen] fromDecimalLiteral
28.54 s
[really-safe-money-gen] ✓ parses the integer literal 1 as one whole unit 0.01 ms
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.63 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] subtract
28.54 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.61 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] toMinimalQuantisations
28.54 s
[really-safe-money-gen] ✓ roundtrips with fromMinimalQuantisations 0.17 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ produces valid Int64s 0.15 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ADA
28.54 s
[really-safe-money-gen] convert
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.27 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] rate
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 4.12 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] fraction
28.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.94 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] fromRatio
28.54 s
[really-safe-money-gen] ✓ produces valid AmountOfs 1.23 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] ✓ succeeds on 0 0.01 ms
28.54 s
[really-safe-money-gen] ✓ succeeds on 77 0.00 ms
28.54 s
[really-safe-money-gen] ✓ succeeds on 1 0.00 ms
28.54 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.54 s
[really-safe-money-gen] ✓ fails on 7.123 0.00 ms
28.54 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.54 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.57 ms
28.54 s
[really-safe-money-gen] passed for all of 100 inputs.
28.54 s
[really-safe-money-gen] BTC
28.54 s
[really-safe-money-gen] convert
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 4.54 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] rate
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.96 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] Show (AmountOf * BTC) and Read (AmountOf * BTC)
28.55 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 0.89 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] fromMinimalQuantisations
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.10 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] GenValid (AmountOf * BTC)
28.55 s
[really-safe-money-gen] genValid :: Gen (AmountOf * BTC)
28.55 s
[really-safe-money-gen] ✓ only generates valid '(AmountOf * BTC)'s 0.10 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] toDecimalLiteral
28.55 s
[really-safe-money-gen] ✓ produces valid decimal literals 0.57 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ roundtrips an amount through its decimal literal 1.08 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] USD
28.55 s
[really-safe-money-gen] convert
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.74 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] rate
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.04 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] INR
28.55 s
[really-safe-money-gen] rate
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.68 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] convert
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.26 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] fromDouble
28.55 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.55 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ fails on -Infinity 0.00 ms
28.55 s
[really-safe-money-gen] ✓ succeeds on 0 0.00 ms
28.55 s
[really-safe-money-gen] ✓ fails on -1 0.00 ms
28.55 s
[really-safe-money-gen] ✓ succeeds on 1 0.00 ms
28.55 s
[really-safe-money-gen] add
28.55 s
[really-safe-money-gen] ✓ has a left-identity: zero 0.12 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.20 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is commutative 0.20 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is associative when both succeed 0.48 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ has a right-identity: zero 0.12 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] CHF
28.55 s
[really-safe-money-gen] convert
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 2.50 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] rate
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.91 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] zero
28.55 s
[really-safe-money-gen] ✓ is valid 0.00 ms
28.55 s
[really-safe-money-gen] sum
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.99 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 2.02 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] Ord (AmountOf * BTC)
28.55 s
[really-safe-money-gen] (<) :: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == LT) for "valid (AmountOf * BTC)"'s 1.59 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * BTC)"'s 0.13 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * BTC)"'s 0.09 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] "min :: (AmountOf * BTC -> AmountOf * BTC -> AmountOf * BTC)"
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid (AmountOf * BTC)"'s 0.13 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] (<=) :: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool
28.55 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * BTC)"'s 0.10 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * BTC)"'s 0.09 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid (AmountOf * BTC)"'s 0.12 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * BTC)"'s 1.60 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] "max :: (AmountOf * BTC -> AmountOf * BTC -> AmountOf * BTC)"
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid (AmountOf * BTC)"'s 0.22 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] (>) :: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool
28.55 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * BTC)"'s 0.11 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == GT) for "valid (AmountOf * BTC)"'s 0.20 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * BTC)"'s 0.10 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] (>=) :: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid (AmountOf * BTC)"'s 0.16 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * BTC)"'s 0.10 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * BTC)"'s 0.09 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (AmountOf * BTC)"'s 0.19 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] fromRational
28.55 s
[really-safe-money-gen] ✓ produces valid Amounts 3.44 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.33 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ fails on -Infinity 0.00 ms
28.55 s
[really-safe-money-gen] ✓ fails on +Infinity 0.00 ms
28.55 s
[really-safe-money-gen] ✓ fails on -1 0.00 ms
28.55 s
[really-safe-money-gen] ✓ succeeds on 1 0.01 ms
28.55 s
[really-safe-money-gen] ✓ fails on NaN 0.00 ms
28.55 s
[really-safe-money-gen] ✓ succeeds on 0 0.01 ms
28.55 s
[really-safe-money-gen] Eq (AmountOf * BTC)
28.55 s
[really-safe-money-gen] (==) :: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool
28.55 s
[really-safe-money-gen] ✓ is reflexive for "valid (AmountOf * BTC)"s 0.08 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is transitive for "valid (AmountOf * BTC)"s 0.12 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is symmetric for "valid (AmountOf * BTC)"s 0.19 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (AmountOf * BTC)"s 0.14 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] (/=) :: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (AmountOf * BTC)"s 0.13 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is antireflexive for "valid (AmountOf * BTC)"s 0.08 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] toRational
28.55 s
[really-safe-money-gen] ✓ produces valid Rationals 0.30 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] toRatio
28.55 s
[really-safe-money-gen] ✓ produces valid Rationals when the quantisation factor is nonzero 0.28 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] toDouble
28.55 s
[really-safe-money-gen] ✓ produces valid Doubles 0.11 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] format
28.55 s
[really-safe-money-gen] ✓ produces valid strings 0.85 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] multiply
28.55 s
[really-safe-money-gen] ✓ is absorbed by 0 0.22 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is distributive with add when both succeed 0.42 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.40 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ has an identity: 1 0.48 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.37 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] distribute
28.55 s
[really-safe-money-gen] ✓ produces results that sum up to the greater whole 0.28 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.26 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] Eq (Distribution (AmountOf * BTC))
28.55 s
[really-safe-money-gen] (/=) :: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool
28.55 s
[really-safe-money-gen] ✓ is antireflexive for "valid (Distribution (AmountOf * BTC))"s 0.12 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (Distribution (AmountOf * BTC))"s 0.26 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] (==) :: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool
28.55 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (Distribution (AmountOf * BTC))"s 0.35 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is symmetric for "valid (Distribution (AmountOf * BTC))"s 0.13 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is transitive for "valid (Distribution (AmountOf * BTC))"s 0.13 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] ✓ is reflexive for "valid (Distribution (AmountOf * BTC))"s 0.15 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] Show (Distribution (AmountOf * BTC)) and Read (Distribution (AmountOf * BTC))
28.55 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 3.23 ms
28.55 s
[really-safe-money-gen] passed for all of 100 inputs.
28.55 s
[really-safe-money-gen] Money.AmountSpec
28.55 s
[really-safe-money-gen] fromRational
28.55 s
[really-safe-money-gen] ✓ succeeds on 1 35.16 ms
28.55 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.55 s
[really-safe-money-gen] ✓ succeeds on 0 34.54 ms
28.55 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.55 s
[really-safe-money-gen] ✓ fails on -Infinity 15.55 ms
28.55 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.71 s
[really-safe-money-gen] ✓ fails on really large numbers 0.01 ms
28.71 s
[really-safe-money-gen] ✓ fails on -1 32.40 ms
28.71 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.71 s
[really-safe-money-gen] ✓ roundtrips with toRational 74.89 ms
28.71 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.71 s
[really-safe-money-gen] ✓ fails on NaN 12.73 ms
28.71 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.71 s
[really-safe-money-gen] ✓ succeeds on 77.02 with quantisation factor 100 0.01 ms
28.71 s
[really-safe-money-gen] ✓ fails on 7.123 with quantisation factor 10 0.00 ms
28.72 s
[really-safe-money-gen] ✓ fails on +Infinity 26.10 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ produces valid Amounts 118.43 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] toMinimalQuantisations
28.72 s
[really-safe-money-gen] ✓ produces valid Int64s 20.56 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ roundtrips with fromMinimalQuantisations 17.04 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] format
28.72 s
[really-safe-money-gen] ✓ produces valid strings 146.08 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ formats 1 correctly with quantisation factor 10 0.04 ms
28.72 s
[really-safe-money-gen] ✓ formats 1 correctly with quantisation factor 1 0.01 ms
28.72 s
[really-safe-money-gen] DecimalLiteral
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 200 2 0.01 ms
28.72 s
[really-safe-money-gen] Amount.toDecimalLiteral
28.72 s
[really-safe-money-gen] ✓ roundtrips with Amount.fromDecimalLiteral 1628.36 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ produces valid decimal literals 1588.31 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just True) 2 0 0.01 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 500 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} 0.06 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 600 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} 0.01 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 20 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 3 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} 0.01 ms
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 100 2 0.01 ms
28.72 s
[really-safe-money-gen] Amount.fromDecimalLiteral
28.72 s
[really-safe-money-gen] ✓ produces valid factors 141.03 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ fails on this amount that is too precise 0.01 ms
28.72 s
[really-safe-money-gen] ✓ fails on this amount that is too precise 0.01 ms
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just True) 1 0 0.01 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 100 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} 0.01 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 2 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} into DecimalLiteral (Just True) 500 8 0.01 ms
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 3 2 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 10 2 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 4 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 500 2 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 1 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 20 2 0.01 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 500 8 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 200 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 600 2 0.01 ms
28.72 s
[really-safe-money-gen] ✓ can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 4 2 0.00 ms
28.72 s
[really-safe-money-gen] ✓ can turn DecimalLiteral (Just True) 10 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} 0.00 ms
28.72 s
[really-safe-money-gen] convert
28.72 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.01 ms
28.72 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 80.90 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ produces valid amounts 446.91 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] distribute
28.72 s
[really-safe-money-gen] Eq (Distribution Amount)
28.72 s
[really-safe-money-gen] (/=) :: (Distribution Amount) -> (Distribution Amount) -> Bool
28.72 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (Distribution Amount)"s 21.52 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ is antireflexive for "valid (Distribution Amount)"s 15.64 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] (==) :: (Distribution Amount) -> (Distribution Amount) -> Bool
28.72 s
[really-safe-money-gen] ✓ is transitive for "valid (Distribution Amount)"s 21.41 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ is symmetric for "valid (Distribution Amount)"s 24.28 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (Distribution Amount)"s 27.85 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ is reflexive for "valid (Distribution Amount)"s 13.45 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ produces unequal chunks where the larger is strictly greater than the smaller 45.02 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] Show (Distribution Amount) and Read (Distribution Amount)
28.72 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 272.03 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ correctly distributes 5 into 3 0.01 ms
28.72 s
[really-safe-money-gen] ✓ is invalid when the larger chunk is not larger 0.00 ms
28.72 s
[really-safe-money-gen] GenValid (Distribution Amount)
28.72 s
[really-safe-money-gen] genValid :: Gen (Distribution Amount)
28.72 s
[really-safe-money-gen] ✓ only generates valid '(Distribution Amount)'s 35.99 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ produces valid amounts 49.80 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ correctly distributes 3 into 3 0.01 ms
28.72 s
[really-safe-money-gen] ✓ produces results that sum up to the greater whole 61.13 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ is invalid when the so-called larger chunk is smaller 0.01 ms
28.72 s
[really-safe-money-gen] ✓ correctly distributes 10 into 4 0.00 ms
28.72 s
[really-safe-money-gen] subtract
28.72 s
[really-safe-money-gen] ✓ succeeds for (x+1) - x = 1 37.55 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ succeeds for x - x = 0 27.94 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ fails for 0 - maxBound 0.01 ms
28.72 s
[really-safe-money-gen] ✓ fails for 0 - 1 0.00 ms
28.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 39.15 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] fromMinimalQuantisations
28.72 s
[really-safe-money-gen] ✓ produces valid amounts 21.63 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] GenValid Amount
28.72 s
[really-safe-money-gen] genValid :: Gen Amount
28.72 s
[really-safe-money-gen] ✓ only generates valid 'Amount's 24.77 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] toRational
28.72 s
[really-safe-money-gen] ✓ produces an invalid Rational with quantisation factor 0 24.30 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ produces valid Rationals when the quantisation factor is nonzero 87.41 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] Show Amount and Read Amount
28.72 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 96.97 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] validateStrictlyPositive
28.72 s
[really-safe-money-gen] ✓ succeeds for Amount 1 0.06 ms
28.72 s
[really-safe-money-gen] ✓ fails for zero 0.00 ms
28.72 s
[really-safe-money-gen] toDouble
28.72 s
[really-safe-money-gen] ✓ produces valid Doubles 32.10 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ produces an infinite Double with quantisation factor 0 21.61 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ succeeds on 7702 with quantisation factor 100 0.01 ms
28.72 s
[really-safe-money-gen] Eq Amount
28.72 s
[really-safe-money-gen] (/=) :: Amount -> Amount -> Bool
28.72 s
[really-safe-money-gen] ✓ is antireflexive for "valid Amount"s 28.42 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid Amount"s 50.54 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] (==) :: Amount -> Amount -> Bool
28.72 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid Amount"s 40.69 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ is reflexive for "valid Amount"s 14.25 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ is symmetric for "valid Amount"s 19.43 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ is transitive for "valid Amount"s 12.37 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] toRatio
28.72 s
[really-safe-money-gen] ✓ produces valid Rationals when the quantisation factor is nonzero 71.22 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ produces an invalid Rational with quantisation factor 0 13.21 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] quantisationFactorFormatString
28.72 s
[really-safe-money-gen] ✓ uses %f for the degenerate zero quantisation factor 0.03 ms
28.72 s
[really-safe-money-gen] ✓ uses two decimals for hundredths 0.01 ms
28.72 s
[really-safe-money-gen] sum
28.72 s
[really-safe-money-gen] ✓ produces valid amounts 252.63 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 252.68 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ correctly sums [1,2,3] to 6 0.01 ms
28.72 s
[really-safe-money-gen] ✓ succeeds at exactly maxBound 0.00 ms
28.72 s
[really-safe-money-gen] ✓ fails to sum above maxBound 0.00 ms
28.72 s
[really-safe-money-gen] fromDouble
28.72 s
[really-safe-money-gen] ✓ fails on really large numbers 0.00 ms
28.72 s
[really-safe-money-gen] ✓ fails on really large numbers 0.02 ms
28.72 s
[really-safe-money-gen] ✓ roundtrips with toDouble, back to double 75.12 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ produces valid amounts 40.67 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ fails on NaN 14.76 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ fails on a value way too large (10e1000) 18.97 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ succeeds on 0 20.69 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ succeeds on 77.02 with quantisation factor 100 0.01 ms
28.72 s
[really-safe-money-gen] ✓ fails on +Infinity 12.31 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ fails on -1 22.12 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ fails on -Infinity 13.17 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ succeeds on 1 27.06 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ fails on 7.123 with quantisation factor 10 0.01 ms
28.72 s
[really-safe-money-gen] zero
28.72 s
[really-safe-money-gen] ✓ is valid 0.00 ms
28.72 s
[really-safe-money-gen] fromRatio
28.72 s
[really-safe-money-gen] ✓ roundtrips with toRatio 69.22 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ succeeds on 1 32.68 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ fails on NaN 21.42 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ succeeds on 77.02 with quantisation factor 100 0.01 ms
28.72 s
[really-safe-money-gen] ✓ produces valid Amounts 116.12 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ fails on 7.123 with quantisation factor 10 0.01 ms
28.72 s
[really-safe-money-gen] ✓ fails on +Infinity 15.37 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] ✓ succeeds on 0 26.51 ms
28.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.72 s
[really-safe-money-gen] rate
28.73 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 424.13 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ produces valid conversion rates 204.90 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.01 ms
28.73 s
[really-safe-money-gen] fraction
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 138.67 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ Correctly fractions 101 with 1 % 100 0.01 ms
28.73 s
[really-safe-money-gen] ✓ Correctly fractions 100 with 1 % 100 0.00 ms
28.73 s
[really-safe-money-gen] ✓ returns zero when the fraction is zero 25.08 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ Produces a result that has been rounded in the right direction when using RoundUp 155.98 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ Produces a result that can be multiplied back 189.96 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ Produces a result that has been rounded in the right direction when using RoundDown 130.30 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] multiply
28.73 s
[really-safe-money-gen] ✓ is absorbed by 0 24.86 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 15.22 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 29.40 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ succeeds for 3 * 6 0.01 ms
28.73 s
[really-safe-money-gen] ✓ has an identity: 1 17.94 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ fails for 2 * maxbound 0.01 ms
28.73 s
[really-safe-money-gen] ✓ is distributive with add when both succeed 35.79 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] Ord Amount
28.73 s
[really-safe-money-gen] (>=) :: Amount -> Amount -> Bool
28.73 s
[really-safe-money-gen] ✓ is antisymmetric for "valid Amount"'s 19.68 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is reflexive for "valid Amount"'s 17.89 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid Amount"'s 22.37 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is transitive for "valid Amount"'s 18.07 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] (<) :: Amount -> Amount -> Bool
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == LT) for "valid Amount"'s 29.75 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is antireflexive for "valid Amount"'s 23.08 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is transitive for "valid Amount"'s 25.09 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] (>) :: Amount -> Amount -> Bool
28.73 s
[really-safe-money-gen] ✓ is antireflexive for "valid Amount"'s 18.40 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == GT) for "valid Amount"'s 19.29 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is transitive for "valid Amount"'s 27.37 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] "min :: (Amount -> Amount -> Amount)"
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid Amount"'s 20.68 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] (<=) :: Amount -> Amount -> Bool
28.73 s
[really-safe-money-gen] ✓ is transitive for "valid Amount"'s 15.43 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is antisymmetric for "valid Amount"'s 18.80 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid Amount"'s 22.72 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is reflexive for "valid Amount"'s 10.11 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] "max :: (Amount -> Amount -> Amount)"
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid Amount"'s 19.31 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] add
28.73 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 34.50 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is associative when both succeed 38.81 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ fails for maxBound + maxBound 0.00 ms
28.73 s
[really-safe-money-gen] ✓ has a right-identity: zero 17.13 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ is commutative 43.43 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 27.89 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] ✓ fails for maxBound + 1 0.01 ms
28.73 s
[really-safe-money-gen] ✓ has a left-identity: zero 24.52 ms
28.73 s
[really-safe-money-gen] passed for all of 10000 inputs.
28.73 s
[really-safe-money-gen] Money.MultiAmountSpec
28.73 s
[really-safe-money-gen] addAmount
28.73 s
[really-safe-money-gen] ✓ keeps the currency entry after adding to an existing non-zero amount 9.25 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 38.51 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is invalid when it contains a zero amount 13.45 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] subtractAmount
28.73 s
[really-safe-money-gen] ✓ removes the currency entry when subtracting the full amount 17.45 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 18.07 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ keeps the currency entry when subtracting less than the full amount 12.17 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] convertAll
28.73 s
[really-safe-money-gen] ✓ produces valid results when converting two currencies to one 44.19 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ does the same as 'convert' when there is only one amount 43.66 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ produces the right result in this example 11.07 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ succeeds when the converted total equals exactly maxBound 3.09 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] lookupAmount
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 15.76 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ can find an added amount 16.20 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] fromAmount
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 4.25 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] GenValid (MultiAmount Currency)
28.73 s
[really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
28.73 s
[really-safe-money-gen] ✓ only generates valid '(MultiAmount Currency)'s 38.80 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] subtract
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 24.39 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ has a right-identity: zero 36.78 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] Show (MultiAmount Currency) and Read (MultiAmount Currency)
28.73 s
[really-safe-money-gen] ✓ are implemented such that read . show == id for valid values 72.49 ms
28.73 s
[really-safe-money-gen] passed for all of 100 inputs.
28.73 s
[really-safe-money-gen] ✓ is invalid when it contains a currency with a zero quantisation factor 13.64 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] sum
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 71.68 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] add
28.73 s
[really-safe-money-gen] ✓ produces valid amounts 57.45 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ has a left-identity: zero 46.10 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ has a right-identity: zero 42.79 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is commutative 97.67 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is associative when both succeed 172.89 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] Eq (MultiAmount Currency)
28.73 s
[really-safe-money-gen] (/=) :: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool
28.73 s
[really-safe-money-gen] ✓ is antireflexive for "valid (MultiAmount Currency)"s 32.13 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a == b) for "valid (MultiAmount Currency)"s 39.90 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] (==) :: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool
28.73 s
[really-safe-money-gen] ✓ is reflexive for "valid (MultiAmount Currency)"s 33.91 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (MultiAmount Currency)"s 50.89 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is transitive for "valid (MultiAmount Currency)"s 37.65 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is symmetric for "valid (MultiAmount Currency)"s 36.43 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] Ord (MultiAmount Currency)
28.73 s
[really-safe-money-gen] (<) :: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == LT) for "valid (MultiAmount Currency)"'s 50.42 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is transitive for "valid (MultiAmount Currency)"'s 47.05 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is antireflexive for "valid (MultiAmount Currency)"'s 23.85 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] "max :: (MultiAmount Currency -> MultiAmount Currency -> MultiAmount Currency)"
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid (MultiAmount Currency)"'s 53.82 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] (>=) :: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool
28.73 s
[really-safe-money-gen] ✓ is reflexive for "valid (MultiAmount Currency)"'s 24.00 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is transitive for "valid (MultiAmount Currency)"'s 52.31 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid (MultiAmount Currency)"'s 45.81 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (MultiAmount Currency)"'s 47.23 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] (>) :: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b == GT) for "valid (MultiAmount Currency)"'s 52.10 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is antireflexive for "valid (MultiAmount Currency)"'s 38.01 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is transitive for "valid (MultiAmount Currency)"'s 39.38 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] (<=) :: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid (MultiAmount Currency)"'s 42.70 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is reflexive for "valid (MultiAmount Currency)"'s 28.09 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is antisymmetric for "valid (MultiAmount Currency)"'s 39.96 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] ✓ is transitive for "valid (MultiAmount Currency)"'s 43.72 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] "min :: (MultiAmount Currency -> MultiAmount Currency -> MultiAmount Currency)"
28.73 s
[really-safe-money-gen] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid (MultiAmount Currency)"'s 50.39 ms
28.73 s
[really-safe-money-gen] passed for all of 1000 inputs.
28.73 s
[really-safe-money-gen] zero
28.73 s
[really-safe-money-gen] ✓ is valid 0.01 ms
28.73 s
[really-safe-money-gen]
28.73 s
[really-safe-money-gen] Examples: 2407929
28.73 s
[really-safe-money-gen] Passed: 1725
28.73 s
[really-safe-money-gen] Failed: 0
28.73 s
[really-safe-money-gen] Sum of test runtimes: 50.32 seconds
28.73 s
[really-safe-money-gen] Test suite took: 4.06 seconds
28.73 s
[really-safe-money-gen]
28.73 s
[really-safe-money-gen] Test suite really-safe-money-test: PASS
28.73 s
[really-safe-money-gen] Test suite logged to:
28.73 s
[really-safe-money-gen] dist/test/really-safe-money-gen-0.0.0.0-really-safe-money-test.log
28.73 s
[really-safe-money-gen] 1 of 1 test suites (1 of 1 test cases) passed.
28.81 s
[really-safe-money-gen] Phase: haddockPhase
28.82 s
[really-safe-money-gen] Phase: installPhase
28.91 s
[really-safe-money-gen] Installing library in /nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-21af/really-safe-money-gen-0.0.0.0-7mKqeOpzJlv8S7YwB1jpb2
29.23 s
[really-safe-money-gen] Phase: fixupPhase
29.26 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0
29.26 s
[really-safe-money-gen] shrinking /nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-21af/libHSreally-safe-money-gen-0.0.0.0-7mKqeOpzJlv8S7YwB1jpb2-ghc9.10.3.so
29.29 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0...
29.34 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0
29.35 s
[really-safe-money-gen] stripping (with command strip and flags -S -p) in /nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0/lib
29.48 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/g2frf8n521ray80kny98vxji00ykiafk-really-safe-money-gen-0.0.0.0-coverage
29.49 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/g2frf8n521ray80kny98vxji00ykiafk-really-safe-money-gen-0.0.0.0-coverage...
29.51 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/g2frf8n521ray80kny98vxji00ykiafk-really-safe-money-gen-0.0.0.0-coverage
37.48 s
[post-build-hook] Uploading to cachix cache "really-safe-money": /nix/store/g2frf8n521ray80kny98vxji00ykiafk-really-safe-money-gen-0.0.0.0-coverage /nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0
38.31 s
[post-build-hook] Pushing 7 paths (190 are already present) using zstd to cache really-safe-money ⏳
38.31 s
[post-build-hook]
38.65 s
[post-build-hook] Pushing /nix/store/s7d4vgxyyghim2q7b2pg4rpjirfwvpbn-really-safe-money-0.0.0.0 (19.26 MiB)
38.66 s
[post-build-hook] Pushing /nix/store/g2frf8n521ray80kny98vxji00ykiafk-really-safe-money-gen-0.0.0.0-coverage (67.43 KiB)
38.68 s
[post-build-hook] Pushing /nix/store/a4z6rf11ppcri90jhgwrd9l7bamnmzr5-dekking-value-0.1.0.0-doc (155.51 KiB)
38.69 s
[post-build-hook] Pushing /nix/store/sqj27w2d678nrq12s1h7jq7gy9jc300z-dekking-value-0.1.0.0 (281.23 KiB)
38.70 s
[post-build-hook] Pushing /nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0 (1.27 MiB)
38.75 s
[post-build-hook] Pushing /nix/store/izcg4rlglhwbbyvrmsqai5dzwv4q1qpd-dekking-plugin-0.1.0.0 (3.72 MiB)
38.78 s
[post-build-hook] Pushing /nix/store/4xggi2s9qvm1b2wg1a99jfgfnrljjrf2-dekking-plugin-0.1.0.0-doc (770.97 KiB)
40.65 s
[post-build-hook]
40.65 s
[post-build-hook] All done.
40.68 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/g2frf8n521ray80kny98vxji00ykiafk-really-safe-money-gen-0.0.0.0-coverage /nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0
40.74 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
40.77 s
[post-build-hook] copying 2 paths...
40.77 s
[post-build-hook] copying path '/nix/store/npgsih5y7by6scgsy249mxr30bl9hw4s-really-safe-money-gen-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
40.77 s
[post-build-hook] copying path '/nix/store/g2frf8n521ray80kny98vxji00ykiafk-really-safe-money-gen-0.0.0.0-coverage' to 'https://cache.staging.nix-ci.com'...
41.34 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
41.62 s
[post-build-hook] copying 1 paths...
41.62 s
[post-build-hook] copying path '/nix/store/rdfcnadzfdypy969y3q3s2q7fx5p42lm-really-safe-money-gen-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
41.82 s
Progress: 2 of 8 built, 6 of 6 downloaded from cache
41.87 s
Building /nix/store/54bipy6gdw6sa872c03278jx3wxvash5-really-safe-money-autodocodec-gen-0.0.0.0.drv
42.32 s
[really-safe-money-autodocodec-gen] Phase: setupCompilerEnvironmentPhase
42.33 s
[really-safe-money-autodocodec-gen] Build with /nix/store/k493jzz83044mqayvlb6247l35780kxy-ghc-9.10.3.
43.57 s
[really-safe-money-autodocodec-gen] Phase: unpackPhase
43.57 s
[really-safe-money-autodocodec-gen] unpacking source archive /nix/store/97sj53r1acvyir5l4sa3fc52y9sm2cid-really-safe-money-autodocodec-gen-source-0.0.0.0/really-safe-money-autodocodec-gen-0.0.0.0.tar.gz
43.60 s
[really-safe-money-autodocodec-gen] source root is really-safe-money-autodocodec-gen-0.0.0.0
43.61 s
[really-safe-money-autodocodec-gen] setting SOURCE_DATE_EPOCH to timestamp 1780902650 of file "really-safe-money-autodocodec-gen-0.0.0.0/test/Spec.hs"
43.66 s
[really-safe-money-autodocodec-gen] Phase: patchPhase
43.69 s
[really-safe-money-autodocodec-gen] Phase: compileBuildDriverPhase
43.70 s
[really-safe-money-autodocodec-gen] setupCompileFlags: -package-db=/build/tmp.UFRdmojrke/setup-package.conf.d -threaded
43.77 s
[really-safe-money-autodocodec-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.UFRdmojrke/Main.o )
43.83 s
[really-safe-money-autodocodec-gen] [2 of 2] Linking Setup
45.40 s
[really-safe-money-autodocodec-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
45.43 s
[really-safe-money-autodocodec-gen] Phase: configurePhase
45.44 s
[really-safe-money-autodocodec-gen] configureFlags: --verbose --prefix=/nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.UFRdmojrke/package.conf.d --ghc-option=-j14 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --extra-lib-dirs=/nix/store/wl2nw5l4x4dg6kclbgpq7v9212i1s6cy-ncurses-6.6/lib --extra-lib-dirs=/nix/store/2zs4bbi72plfm8j6zxf1js4f3yc4yzwy-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/qhmqdg27kcrlkl8ida6d5hiacw0y8d21-elfutils-0.194/lib --extra-lib-dirs=/nix/store/y56aqb1m3y5davn6hsv4jfbml78qw4mv-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/wjfhh11sfcdf97mvg7hbxickybxzk850-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/k493jzz83044mqayvlb6247l35780kxy-ghc-9.10.3/lib
45.45 s
[really-safe-money-autodocodec-gen] Using Parsec parser
45.45 s
[really-safe-money-autodocodec-gen] Configuring really-safe-money-autodocodec-gen-0.0.0.0...
46.73 s
[really-safe-money-autodocodec-gen] Dependency aeson: using aeson-2.2.4.1
46.73 s
[really-safe-money-autodocodec-gen] Dependency autodocodec: using autodocodec-0.5.0.0
46.73 s
[really-safe-money-autodocodec-gen] Dependency autodocodec-yaml: using autodocodec-yaml-0.4.0.2
46.73 s
[really-safe-money-autodocodec-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
46.73 s
[really-safe-money-autodocodec-gen] Dependency deepseq: using deepseq-1.5.0.0
46.73 s
[really-safe-money-autodocodec-gen] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
46.73 s
[really-safe-money-autodocodec-gen] Dependency sydtest: using sydtest-0.25.0.1
46.73 s
[really-safe-money-autodocodec-gen] Dependency aeson: using aeson-2.2.4.1
46.73 s
[really-safe-money-autodocodec-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
46.73 s
[really-safe-money-autodocodec-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
46.73 s
[really-safe-money-autodocodec-gen] Dependency really-safe-money-autodocodec: using
46.73 s
[really-safe-money-autodocodec-gen] really-safe-money-autodocodec-0.0.0.0
46.74 s
[really-safe-money-autodocodec-gen] Dependency really-safe-money-autodocodec-gen: using
46.74 s
[really-safe-money-autodocodec-gen] really-safe-money-autodocodec-gen-0.0.0.0
46.74 s
[really-safe-money-autodocodec-gen] Dependency really-safe-money-gen: using really-safe-money-gen-0.0.0.0
46.74 s
[really-safe-money-autodocodec-gen] Dependency sydtest: using sydtest-0.25.0.1
46.74 s
[really-safe-money-autodocodec-gen] Source component graph:
46.74 s
[really-safe-money-autodocodec-gen] component lib
46.74 s
[really-safe-money-autodocodec-gen] component test:really-safe-money-autodocodec-test dependency lib
46.74 s
[really-safe-money-autodocodec-gen] Configured component graph:
46.74 s
[really-safe-money-autodocodec-gen] component really-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ
46.74 s
[really-safe-money-autodocodec-gen] include aeson-2.2.4.1-I5kgiCyiPJO8jEV0bEgUez
46.74 s
[really-safe-money-autodocodec-gen] include autodocodec-0.5.0.0-3qLgiGyLeOyEYAS7UL3M41
46.74 s
[really-safe-money-autodocodec-gen] include autodocodec-yaml-0.4.0.2-HubNJckabFE4VnttidhWWu
46.74 s
[really-safe-money-autodocodec-gen] include base-4.20.2.0-4d66
46.74 s
[really-safe-money-autodocodec-gen] include deepseq-1.5.0.0-04fd
46.74 s
[really-safe-money-autodocodec-gen] include genvalidity-sydtest-1.0.1.0-45XJfPg4Hf83zRZotM8Yum
46.74 s
[really-safe-money-autodocodec-gen] include sydtest-0.25.0.1-8CeZFHEpYWR67hZ2sxATtG
46.74 s
[really-safe-money-autodocodec-gen] component really-safe-money-autodocodec-gen-0.0.0.0-EMfWzF4QLM2GxBkXTAQCrS-really-safe-money-autodocodec-test
46.74 s
[really-safe-money-autodocodec-gen] include aeson-2.2.4.1-I5kgiCyiPJO8jEV0bEgUez
46.74 s
[really-safe-money-autodocodec-gen] include base-4.20.2.0-4d66
46.74 s
[really-safe-money-autodocodec-gen] include really-safe-money-0.0.0.0-4n32or1yFnsJqN3wqYySNc
46.74 s
[really-safe-money-autodocodec-gen] include really-safe-money-autodocodec-0.0.0.0-LcGuXs3ju95FqrupwKLGoc
46.74 s
[really-safe-money-autodocodec-gen] include really-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ
46.74 s
[really-safe-money-autodocodec-gen] include really-safe-money-gen-0.0.0.0-7mKqeOpzJlv8S7YwB1jpb2
46.74 s
[really-safe-money-autodocodec-gen] include sydtest-0.25.0.1-8CeZFHEpYWR67hZ2sxATtG
46.74 s
[really-safe-money-autodocodec-gen] Linked component graph:
46.74 s
[really-safe-money-autodocodec-gen] unit really-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ
46.74 s
[really-safe-money-autodocodec-gen] include aeson-2.2.4.1-I5kgiCyiPJO8jEV0bEgUez
46.74 s
[really-safe-money-autodocodec-gen] include autodocodec-0.5.0.0-3qLgiGyLeOyEYAS7UL3M41
46.74 s
[really-safe-money-autodocodec-gen] include autodocodec-yaml-0.4.0.2-HubNJckabFE4VnttidhWWu
46.74 s
[really-safe-money-autodocodec-gen] include base-4.20.2.0-4d66
46.74 s
[really-safe-money-autodocodec-gen] include deepseq-1.5.0.0-04fd
46.74 s
[really-safe-money-autodocodec-gen] include genvalidity-sydtest-1.0.1.0-45XJfPg4Hf83zRZotM8Yum
46.74 s
[really-safe-money-autodocodec-gen] include sydtest-0.25.0.1-8CeZFHEpYWR67hZ2sxATtG
46.74 s
[really-safe-money-autodocodec-gen] Money.Autodocodec.Gen=really-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ:Money.Autodocodec.Gen
46.74 s
[really-safe-money-autodocodec-gen] unit really-safe-money-autodocodec-gen-0.0.0.0-EMfWzF4QLM2GxBkXTAQCrS-really-safe-money-autodocodec-test
46.74 s
[really-safe-money-autodocodec-gen] include aeson-2.2.4.1-I5kgiCyiPJO8jEV0bEgUez
46.74 s
[really-safe-money-autodocodec-gen] include base-4.20.2.0-4d66
46.74 s
[really-safe-money-autodocodec-gen] include really-safe-money-0.0.0.0-4n32or1yFnsJqN3wqYySNc
46.74 s
[really-safe-money-autodocodec-gen] include really-safe-money-autodocodec-0.0.0.0-LcGuXs3ju95FqrupwKLGoc
46.74 s
[really-safe-money-autodocodec-gen] include really-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ
46.74 s
[really-safe-money-autodocodec-gen] include really-safe-money-gen-0.0.0.0-7mKqeOpzJlv8S7YwB1jpb2
46.74 s
[really-safe-money-autodocodec-gen] include sydtest-0.25.0.1-8CeZFHEpYWR67hZ2sxATtG
46.74 s
[really-safe-money-autodocodec-gen] Ready component graph:
46.74 s
[really-safe-money-autodocodec-gen] definite really-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ
46.74 s
[really-safe-money-autodocodec-gen] depends aeson-2.2.4.1-I5kgiCyiPJO8jEV0bEgUez
46.74 s
[really-safe-money-autodocodec-gen] depends autodocodec-0.5.0.0-3qLgiGyLeOyEYAS7UL3M41
46.74 s
[really-safe-money-autodocodec-gen] depends autodocodec-yaml-0.4.0.2-HubNJckabFE4VnttidhWWu
46.74 s
[really-safe-money-autodocodec-gen] depends base-4.20.2.0-4d66
46.74 s
[really-safe-money-autodocodec-gen] depends deepseq-1.5.0.0-04fd
46.74 s
[really-safe-money-autodocodec-gen] depends genvalidity-sydtest-1.0.1.0-45XJfPg4Hf83zRZotM8Yum
46.74 s
[really-safe-money-autodocodec-gen] depends sydtest-0.25.0.1-8CeZFHEpYWR67hZ2sxATtG
46.74 s
[really-safe-money-autodocodec-gen] definite really-safe-money-autodocodec-gen-0.0.0.0-EMfWzF4QLM2GxBkXTAQCrS-really-safe-money-autodocodec-test
46.74 s
[really-safe-money-autodocodec-gen] depends aeson-2.2.4.1-I5kgiCyiPJO8jEV0bEgUez
46.74 s
[really-safe-money-autodocodec-gen] depends base-4.20.2.0-4d66
46.74 s
[really-safe-money-autodocodec-gen] depends really-safe-money-0.0.0.0-4n32or1yFnsJqN3wqYySNc
46.74 s
[really-safe-money-autodocodec-gen] depends really-safe-money-autodocodec-0.0.0.0-LcGuXs3ju95FqrupwKLGoc
46.74 s
[really-safe-money-autodocodec-gen] depends really-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ
46.74 s
[really-safe-money-autodocodec-gen] depends really-safe-money-gen-0.0.0.0-7mKqeOpzJlv8S7YwB1jpb2
46.74 s
[really-safe-money-autodocodec-gen] depends sydtest-0.25.0.1-8CeZFHEpYWR67hZ2sxATtG
46.74 s
[really-safe-money-autodocodec-gen] Using Cabal-3.12.1.0 compiled by ghc-9.10
46.74 s
[really-safe-money-autodocodec-gen] Using compiler: ghc-9.10.3
46.74 s
[really-safe-money-autodocodec-gen] Using install prefix:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0
46.74 s
[really-safe-money-autodocodec-gen] Executables installed in:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/bin
46.74 s
[really-safe-money-autodocodec-gen] Libraries installed in:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-21af/really-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ
46.74 s
[really-safe-money-autodocodec-gen] Dynamic Libraries installed in:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-21af
46.74 s
[really-safe-money-autodocodec-gen] Private executables installed in:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-21af/really-safe-money-autodocodec-gen-0.0.0.0
46.74 s
[really-safe-money-autodocodec-gen] Data files installed in:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/share/x86_64-linux-ghc-9.10.3-21af/really-safe-money-autodocodec-gen-0.0.0.0
46.74 s
[really-safe-money-autodocodec-gen] Documentation installed in:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/share/doc/x86_64-linux-ghc-9.10.3-21af/really-safe-money-autodocodec-gen-0.0.0.0
46.74 s
[really-safe-money-autodocodec-gen] Configuration files installed in:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/etc
46.74 s
[really-safe-money-autodocodec-gen] No alex found
46.74 s
[really-safe-money-autodocodec-gen] Using ar found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/mbyy19mdwnfvfwmdi0gqgggx0njvpl1w-binutils-wrapper-2.46/bin/ar
46.74 s
[really-safe-money-autodocodec-gen] No c2hs found
46.74 s
[really-safe-money-autodocodec-gen] No cpphs found
46.74 s
[really-safe-money-autodocodec-gen] No doctest found
46.74 s
[really-safe-money-autodocodec-gen] Using gcc version 15.2.0 given by user at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/788mx070y81zjlg5ipcl0cra3afviw9k-gcc-wrapper-15.2.0/bin/gcc
46.74 s
[really-safe-money-autodocodec-gen] Using ghc version 9.10.3 found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/k493jzz83044mqayvlb6247l35780kxy-ghc-9.10.3/bin/ghc
46.74 s
[really-safe-money-autodocodec-gen] Using ghc-pkg version 9.10.3 found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/k493jzz83044mqayvlb6247l35780kxy-ghc-9.10.3/bin/ghc-pkg-9.10.3
46.74 s
[really-safe-money-autodocodec-gen] No ghcjs found
46.74 s
[really-safe-money-autodocodec-gen] No ghcjs-pkg found
46.74 s
[really-safe-money-autodocodec-gen] No greencard found
46.74 s
[really-safe-money-autodocodec-gen] Using haddock version 2.31.1 found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/k493jzz83044mqayvlb6247l35780kxy-ghc-9.10.3/bin/haddock-ghc-9.10.3
46.74 s
[really-safe-money-autodocodec-gen] No happy found
46.74 s
[really-safe-money-autodocodec-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
46.74 s
[really-safe-money-autodocodec-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
46.74 s
[really-safe-money-autodocodec-gen] No hmake found
46.74 s
[really-safe-money-autodocodec-gen] Using hpc version 0.69 found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/k493jzz83044mqayvlb6247l35780kxy-ghc-9.10.3/bin/hpc-ghc-9.10.3
46.74 s
[really-safe-money-autodocodec-gen] Using hsc2hs version 0.68.10 found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/k493jzz83044mqayvlb6247l35780kxy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
46.74 s
[really-safe-money-autodocodec-gen] No hscolour found
46.74 s
[really-safe-money-autodocodec-gen] No jhc found
46.74 s
[really-safe-money-autodocodec-gen] Using ld found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/788mx070y81zjlg5ipcl0cra3afviw9k-gcc-wrapper-15.2.0/bin/ld
46.74 s
[really-safe-money-autodocodec-gen] No pkg-config found
46.74 s
[really-safe-money-autodocodec-gen] Using runghc version 9.10.3 found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/k493jzz83044mqayvlb6247l35780kxy-ghc-9.10.3/bin/runghc-9.10.3
46.74 s
[really-safe-money-autodocodec-gen] Using strip version 2.46 found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/788mx070y81zjlg5ipcl0cra3afviw9k-gcc-wrapper-15.2.0/bin/strip
46.74 s
[really-safe-money-autodocodec-gen] Using tar found on system at:
46.74 s
[really-safe-money-autodocodec-gen] /nix/store/k5akwnrn9x2afaj2va7g4a2zpdim8l43-gnutar-1.35/bin/tar
46.74 s
[really-safe-money-autodocodec-gen] No uhc found
47.97 s
[really-safe-money-autodocodec-gen] Phase: buildPhase
48.07 s
[really-safe-money-autodocodec-gen] Preprocessing library for really-safe-money-autodocodec-gen-0.0.0.0...
48.07 s
[really-safe-money-autodocodec-gen] Building library for really-safe-money-autodocodec-gen-0.0.0.0...
48.21 s
[really-safe-money-autodocodec-gen] [1 of 2] Compiling Money.Autodocodec.Gen ( src/Money/Autodocodec/Gen.hs, dist/build/Money/Autodocodec/Gen.o, dist/build/Money/Autodocodec/Gen.dyn_o )
48.59 s
[really-safe-money-autodocodec-gen] [2 of 2] Compiling Paths_really_safe_money_autodocodec_gen ( dist/build/autogen/Paths_really_safe_money_autodocodec_gen.hs, dist/build/Paths_really_safe_money_autodocodec_gen.o, dist/build/Paths_really_safe_money_autodocodec_gen.dyn_o )
48.77 s
[really-safe-money-autodocodec-gen] [1 of 2] Compiling Money.Autodocodec.Gen ( src/Money/Autodocodec/Gen.hs, dist/build/Money/Autodocodec/Gen.p_o )
49.21 s
[really-safe-money-autodocodec-gen] [2 of 2] Compiling Paths_really_safe_money_autodocodec_gen ( dist/build/autogen/Paths_really_safe_money_autodocodec_gen.hs, dist/build/Paths_really_safe_money_autodocodec_gen.p_o )
51.66 s
[really-safe-money-autodocodec-gen] Preprocessing test suite 'really-safe-money-autodocodec-test' for really-safe-money-autodocodec-gen-0.0.0.0...
51.66 s
[really-safe-money-autodocodec-gen] Building test suite 'really-safe-money-autodocodec-test' for really-safe-money-autodocodec-gen-0.0.0.0...
51.79 s
[really-safe-money-autodocodec-gen] [1 of 4] Compiling Money.CodecSpec ( test/Money/CodecSpec.hs, dist/build/really-safe-money-autodocodec-test/really-safe-money-autodocodec-test-tmp/Money/CodecSpec.o )
52.43 s
[really-safe-money-autodocodec-gen] [2 of 4] Compiling Numeric.DecimalLiteral.CodecSpec ( test/Numeric/DecimalLiteral/CodecSpec.hs, dist/build/really-safe-money-autodocodec-test/really-safe-money-autodocodec-test-tmp/Numeric/DecimalLiteral/CodecSpec.o )
52.43 s
[really-safe-money-autodocodec-gen] [3 of 4] Compiling Main ( test/Spec.hs, dist/build/really-safe-money-autodocodec-test/really-safe-money-autodocodec-test-tmp/Main.o )
52.48 s
[really-safe-money-autodocodec-gen] [4 of 4] Compiling Paths_really_safe_money_autodocodec_gen ( dist/build/really-safe-money-autodocodec-test/autogen/Paths_really_safe_money_autodocodec_gen.hs, dist/build/really-safe-money-autodocodec-test/really-safe-money-autodocodec-test-tmp/Paths_really_safe_money_autodocodec_gen.o )
52.72 s
[really-safe-money-autodocodec-gen] [5 of 5] Linking dist/build/really-safe-money-autodocodec-test/really-safe-money-autodocodec-test
54.52 s
[really-safe-money-autodocodec-gen] Phase: checkPhase
54.88 s
[really-safe-money-autodocodec-gen] Running 1 test suites...
54.88 s
[really-safe-money-autodocodec-gen] Test suite really-safe-money-autodocodec-test: RUNNING...
54.91 s
[really-safe-money-autodocodec-gen] Tests:
54.91 s
[really-safe-money-autodocodec-gen]
54.91 s
[really-safe-money-autodocodec-gen] Money.CodecSpec
54.91 s
[really-safe-money-autodocodec-gen] Account
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551617" 1.87 ms
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.8446744073709551617e19 2.20 ms
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number (-1.8446744073709551615e19) 4.89 ms
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551615" 4.86 ms
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "-18446744073709551615" 4.85 ms
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number (-1.0) 4.83 ms
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "0.1" with the expected error message 2.06 ms
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number (-1.8446744073709551617e19) 2.12 ms
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "-18446744073709551617" 1.80 ms
54.91 s
[really-safe-money-autodocodec-gen] account
54.91 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 4.09 ms
54.91 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
54.91 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 6.27 ms
54.91 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
54.91 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 0.50 ms
54.91 s
[really-safe-money-autodocodec-gen] account
54.91 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 5.32 ms
54.91 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
54.91 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 0.77 ms
54.91 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 2.82 ms
54.91 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
54.91 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "0.1" 0.74 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.8446744073709551615e19 3.27 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "-1" 3.01 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.0 3.00 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 0.1 0.01 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "1" 2.77 ms
55.00 s
[really-safe-money-autodocodec-gen] Amount
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 0.1 0.54 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551617" 2.55 ms
55.00 s
[really-safe-money-autodocodec-gen] amount
55.00 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 0.25 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 1.03 ms
55.00 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.00 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 0.95 ms
55.00 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551615" 0.89 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.8446744073709551615e19 0.01 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "0.1" with the expected error message 1.01 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.0 0.01 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.8446744073709551617e19 0.01 ms
55.00 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "0.1" 0.25 ms
55.00 s
[really-safe-money-autodocodec-gen] amount
55.09 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 2.87 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 2.05 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 0.27 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551616" with the expected error message 0.57 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "0" 0.03 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "1" 0.04 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "-1" 0.32 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number (-1.0) 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "-1" with the expected error message 0.68 ms
55.09 s
[really-safe-money-autodocodec-gen] AmountOf
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.8446744073709551615e19 0.75 ms
55.09 s
[really-safe-money-autodocodec-gen] amount-of
55.09 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 2.51 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 0.56 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 2.11 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 0.1 0.52 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.0 0.54 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.8446744073709551617e19 0.28 ms
55.09 s
[really-safe-money-autodocodec-gen] amount-of
55.09 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 0.88 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 1.80 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 0.80 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "1" 0.22 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "-1" 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551615" 0.21 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "0.1" 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551617" 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number (-1.0) 0.00 ms
55.09 s
[really-safe-money-autodocodec-gen] AccountOf
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number (-1.0) 0.26 ms
55.09 s
[really-safe-money-autodocodec-gen] account-of
55.09 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 1.80 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 0.17 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 0.67 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "-18446744073709551617" 0.13 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number (-1.8446744073709551617e19) 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.8446744073709551617e19 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551617" 0.11 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 0.1 0.00 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "1" 0.03 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number (-1.8446744073709551615e19) 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "-18446744073709551615" 0.02 ms
55.09 s
[really-safe-money-autodocodec-gen] account-of
55.09 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 1.95 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 1.21 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 0.15 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551615" 0.02 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "-1" 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.8446744073709551615e19 0.00 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "0.1" 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.0 0.01 ms
55.09 s
[really-safe-money-autodocodec-gen] QuantisationFactor
55.09 s
[really-safe-money-autodocodec-gen] quantisation-factor
55.09 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 0.24 ms
55.09 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 0.74 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 0.68 ms
55.09 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.09 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 0.0 0.02 ms
55.45 s
[really-safe-money-autodocodec-gen] ✓ fails to parse Number 1.0 0.01 ms
55.45 s
[really-safe-money-autodocodec-gen] Numeric.DecimalLiteral.CodecSpec
55.45 s
[really-safe-money-autodocodec-gen] DecimalLiteral
55.45 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "three" 1.25 ms
55.45 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "not-a-number" with the expected error message 1.39 ms
55.45 s
[really-safe-money-autodocodec-gen] decimal-literal
55.45 s
[really-safe-money-autodocodec-gen] ✓ has the same schema as before 0.51 ms
55.48 s
[really-safe-money-autodocodec-gen] ✓ roundtrips to json 181.78 ms
55.48 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.48 s
[really-safe-money-autodocodec-gen] ✓ never fails to encode 180.36 ms
55.48 s
[really-safe-money-autodocodec-gen] passed for all of 100 inputs.
55.48 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "1" 2.29 ms
55.48 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" 2.46 ms
55.48 s
[really-safe-money-autodocodec-gen] ✓ fails to parse String "18446744073709551617" 2.22 ms
55.48 s
[really-safe-money-autodocodec-gen]
55.48 s
[really-safe-money-autodocodec-gen] Examples: 2070
55.48 s
[really-safe-money-autodocodec-gen] Passed: 90
55.48 s
[really-safe-money-autodocodec-gen] Failed: 0
55.48 s
[really-safe-money-autodocodec-gen] Sum of test runtimes: 0.47 seconds
55.48 s
[really-safe-money-autodocodec-gen] Test suite took: 0.19 seconds
55.48 s
[really-safe-money-autodocodec-gen]
55.53 s
[really-safe-money-autodocodec-gen] Test suite really-safe-money-autodocodec-test: PASS
55.53 s
[really-safe-money-autodocodec-gen] Test suite logged to:
55.53 s
[really-safe-money-autodocodec-gen] dist/test/really-safe-money-autodocodec-gen-0.0.0.0-really-safe-money-autodocodec-test.log
55.53 s
[really-safe-money-autodocodec-gen] 1 of 1 test suites (1 of 1 test cases) passed.
55.55 s
[really-safe-money-autodocodec-gen] Phase: haddockPhase
55.56 s
[really-safe-money-autodocodec-gen] Phase: installPhase
55.65 s
[really-safe-money-autodocodec-gen] Installing library in /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-21af/really-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ
55.89 s
[really-safe-money-autodocodec-gen] Phase: fixupPhase
55.92 s
[really-safe-money-autodocodec-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0
55.93 s
[really-safe-money-autodocodec-gen] shrinking /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-21af/libHSreally-safe-money-autodocodec-gen-0.0.0.0-5RDGNZwJrdSLIMuVoRkSOZ-ghc9.10.3.so
55.97 s
[really-safe-money-autodocodec-gen] checking for references to /build/ in /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0...
56.01 s
[really-safe-money-autodocodec-gen] patching script interpreter paths in /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0
56.03 s
[really-safe-money-autodocodec-gen] stripping (with command strip and flags -S -p) in /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0/lib
56.08 s
[really-safe-money-autodocodec-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/mzch2jz6866ybw49pqfavc7jnf2nq1rw-really-safe-money-autodocodec-gen-0.0.0.0-coverage
56.09 s
[really-safe-money-autodocodec-gen] checking for references to /build/ in /nix/store/mzch2jz6866ybw49pqfavc7jnf2nq1rw-really-safe-money-autodocodec-gen-0.0.0.0-coverage...
56.11 s
[really-safe-money-autodocodec-gen] patching script interpreter paths in /nix/store/mzch2jz6866ybw49pqfavc7jnf2nq1rw-really-safe-money-autodocodec-gen-0.0.0.0-coverage
56.22 s
[post-build-hook] Uploading to cachix cache "really-safe-money": /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0 /nix/store/mzch2jz6866ybw49pqfavc7jnf2nq1rw-really-safe-money-autodocodec-gen-0.0.0.0-coverage
56.64 s
[post-build-hook] Pushing 2 paths (265 are already present) using zstd to cache really-safe-money ⏳
56.64 s
[post-build-hook]
57.00 s
[post-build-hook] Pushing /nix/store/mzch2jz6866ybw49pqfavc7jnf2nq1rw-really-safe-money-autodocodec-gen-0.0.0.0-coverage (14.72 KiB)
57.04 s
[post-build-hook] Pushing /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0 (568.75 KiB)
57.88 s
[post-build-hook]
57.88 s
[post-build-hook] All done.
57.90 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0 /nix/store/mzch2jz6866ybw49pqfavc7jnf2nq1rw-really-safe-money-autodocodec-gen-0.0.0.0-coverage
57.95 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
58.11 s
[post-build-hook] copying 2 paths...
58.11 s
[post-build-hook] copying path '/nix/store/544pz83y3jd0yf7qvk1xmc7y2c4lvsgg-really-safe-money-autodocodec-gen-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
58.11 s
[post-build-hook] copying path '/nix/store/mzch2jz6866ybw49pqfavc7jnf2nq1rw-really-safe-money-autodocodec-gen-0.0.0.0-coverage' to 'https://cache.staging.nix-ci.com'...
58.44 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
58.66 s
[post-build-hook] copying 1 paths...
58.66 s
[post-build-hook] copying path '/nix/store/54bipy6gdw6sa872c03278jx3wxvash5-really-safe-money-autodocodec-gen-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
58.89 s
Progress: 3 of 7 built, 6 of 6 downloaded from cache
58.92 s
Building /nix/store/x7p9xrg9m9j10b95i6h2g3qkywxg2mvr-test-coverage-report.drv
58.97 s
[test-coverage-report] +++ dekking-report --coverables /nix/store/52lshsqd2mc40zb1vg36j2wzgkk1lkvk-really-safe-money-0.0.0.0-coverables --coverables /nix/store/1fv0bx54drp80zbk487z3r3zkfwgdczj-really-safe-money-autodocodec-0.0.0.0-coverables --coverage /nix/store/mzch2jz6866ybw49pqfavc7jnf2nq1rw-really-safe-money-autodocodec-gen-0.0.0.0-coverage --coverage /nix/store/g2frf8n521ray80kny98vxji00ykiafk-really-safe-money-gen-0.0.0.0-coverage --coverage /nix/store/j8rwx4mw8r3lfbjpy9mi7n78cvb64isy-really-safe-money-0.0.0.0-coverage --coverage /nix/store/4l1wy6lgydjvy1y5bvcm9szhj1zn6n30-really-safe-money-autodocodec-0.0.0.0-coverage --output /nix/store/j5w2q6yrxr0g68i4rljpqiw1nmmpcg6a-test-coverage-report
59.00 s
[test-coverage-report] "/nix/store/4l1wy6lgydjvy1y5bvcm9szhj1zn6n30-really-safe-money-autodocodec-0.0.0.0-coverage"
59.00 s
[test-coverage-report] "/nix/store/g2frf8n521ray80kny98vxji00ykiafk-really-safe-money-gen-0.0.0.0-coverage"
59.00 s
[test-coverage-report] "/nix/store/j8rwx4mw8r3lfbjpy9mi7n78cvb64isy-really-safe-money-0.0.0.0-coverage"
59.00 s
[test-coverage-report] "/nix/store/mzch2jz6866ybw49pqfavc7jnf2nq1rw-really-safe-money-autodocodec-gen-0.0.0.0-coverage"
59.10 s
[test-coverage-report] +++ set +x
59.13 s
[post-build-hook] Uploading to cachix cache "really-safe-money": /nix/store/j5w2q6yrxr0g68i4rljpqiw1nmmpcg6a-test-coverage-report
59.48 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache really-safe-money ⏳
59.48 s
[post-build-hook]
59.82 s
[post-build-hook] Pushing /nix/store/j5w2q6yrxr0g68i4rljpqiw1nmmpcg6a-test-coverage-report (2.18 MiB)
60.79 s
[post-build-hook]
60.85 s
[post-build-hook] All done.
60.85 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/j5w2q6yrxr0g68i4rljpqiw1nmmpcg6a-test-coverage-report
60.85 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
60.85 s
[post-build-hook] copying 1 paths...
60.85 s
[post-build-hook] copying path '/nix/store/j5w2q6yrxr0g68i4rljpqiw1nmmpcg6a-test-coverage-report' to 'https://cache.staging.nix-ci.com'...
61.35 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
61.63 s
[post-build-hook] copying 1 paths...
61.64 s
[post-build-hook] copying path '/nix/store/x7p9xrg9m9j10b95i6h2g3qkywxg2mvr-test-coverage-report.drv' to 'https://cache.staging.nix-ci.com'...
61.81 s
Progress: 4 of 7 built, 6 of 6 downloaded from cache
61.83 s
Building /nix/store/cv9kr4yq6y2d83plb21zhkwc02fspbih-test-coverage-report-require-coverage.drv
61.90 s
[test-coverage-report-require-coverage] PASS: Found 1394 covered expressions.
61.92 s
[post-build-hook] Uploading to cachix cache "really-safe-money": /nix/store/55xnnz0p7wwb33awks0sqas6mwkdmami-test-coverage-report-require-coverage
62.29 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache really-safe-money ⏳
62.29 s
[post-build-hook]
63.04 s
[post-build-hook] Pushing /nix/store/55xnnz0p7wwb33awks0sqas6mwkdmami-test-coverage-report-require-coverage (296.00 B)
63.86 s
[post-build-hook]
63.86 s
[post-build-hook] All done.
63.88 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/55xnnz0p7wwb33awks0sqas6mwkdmami-test-coverage-report-require-coverage
63.92 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
63.93 s
[post-build-hook] copying 1 paths...
63.93 s
[post-build-hook] copying path '/nix/store/55xnnz0p7wwb33awks0sqas6mwkdmami-test-coverage-report-require-coverage' to 'https://cache.staging.nix-ci.com'...
64.06 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
64.30 s
[post-build-hook] copying 1 paths...
64.30 s
[post-build-hook] copying path '/nix/store/cv9kr4yq6y2d83plb21zhkwc02fspbih-test-coverage-report-require-coverage.drv' to 'https://cache.staging.nix-ci.com'...
64.50 s
Progress: 5 of 7 built, 6 of 6 downloaded from cache
64.52 s
Building /nix/store/5cv868fg6wg0sn1q5hzyr1fxh0ymqvjy-test-coverage-report-checked.drv
64.59 s
[post-build-hook] Uploading to cachix cache "really-safe-money": /nix/store/06sgw55bxz2q3va00h1f1gw4yyxdnm29-test-coverage-report-checked
64.94 s
[post-build-hook] Pushing 1 paths (1 are already present) using zstd to cache really-safe-money ⏳
64.94 s
[post-build-hook]
65.28 s
[post-build-hook] Pushing /nix/store/06sgw55bxz2q3va00h1f1gw4yyxdnm29-test-coverage-report-checked (176.00 B)
66.26 s
[post-build-hook]
66.29 s
[post-build-hook] All done.
66.29 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/06sgw55bxz2q3va00h1f1gw4yyxdnm29-test-coverage-report-checked
66.33 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
66.34 s
[post-build-hook] copying 1 paths...
66.34 s
[post-build-hook] copying path '/nix/store/06sgw55bxz2q3va00h1f1gw4yyxdnm29-test-coverage-report-checked' to 'https://cache.staging.nix-ci.com'...
66.62 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
66.84 s
[post-build-hook] copying 1 paths...
66.84 s
[post-build-hook] copying path '/nix/store/5cv868fg6wg0sn1q5hzyr1fxh0ymqvjy-test-coverage-report-checked.drv' to 'https://cache.staging.nix-ci.com'...
67.02 s
Progress: 6 of 7 built, 6 of 6 downloaded from cache
67.02 s
/nix/store/06sgw55bxz2q3va00h1f1gw4yyxdnm29-test-coverage-report-checked
67.03 s
Build succeeded.