build checks.x86_64-linux.mutation-really-safe-money

Reproduce this run
  1. 473.72 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:320:9-10:
  2. 473.72 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  3. 473.72 s [really-safe-money-gen] Double ->
  4. 473.72 s [really-safe-money-gen] Maybe Amount
  5. 473.72 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  6. 473.72 s [really-safe-money-gen] - | d < 0 = Nothing
  7. 473.72 s [really-safe-money-gen] + | d < 1 = Nothing
  8. 473.72 s [really-safe-money-gen] | otherwise =
  9. 473.72 s [really-safe-money-gen] let resultDouble :: Double
  10. 473.72 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 ->Testing mutation ConstBool at src/Money/Amount.hs:320:5-10:
  11. 473.72 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  12. 473.72 s [really-safe-money-gen] Double ->
  13. 473.72 s [really-safe-money-gen] Maybe Amount
  14. 473.72 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  15. 473.72 s [really-safe-money-gen] - | d < 0 = Nothing
  16. 473.72 s [really-safe-money-gen] + | True = Nothing
  17. 473.72 s [really-safe-money-gen] | otherwise =
  18. 473.72 s [really-safe-money-gen] let resultDouble :: Double
  19. 473.72 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  20. 473.72 s [really-safe-money-gen]
  21. 473.86 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:320:5-10:
  22. 473.86 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  23. 473.86 s [really-safe-money-gen] Double ->
  24. 473.86 s [really-safe-money-gen] Maybe Amount
  25. 473.86 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  26. 473.86 s [really-safe-money-gen] - | d < 0 = Nothing
  27. 473.86 s [really-safe-money-gen] + | False = Nothing
  28. 473.86 s [really-safe-money-gen] | otherwise =
  29. 473.86 s [really-safe-money-gen] let resultDouble :: Double
  30. 473.86 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  31. 473.86 s [really-safe-money-gen]
  32. 474.01 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:320:5-10:
  33. 474.01 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  34. 474.02 s [really-safe-money-gen] Double ->
  35. 474.02 s [really-safe-money-gen] Maybe Amount
  36. 474.02 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  37. 474.02 s [really-safe-money-gen] - | d < 0 = Nothing
  38. 474.02 s [really-safe-money-gen] + | not (d < 0) = Nothing
  39. 474.02 s [really-safe-money-gen] | otherwise =
  40. 474.02 s [really-safe-money-gen] let resultDouble :: Double
  41. 474.02 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  42. 474.02 s [really-safe-money-gen]
  43. 474.18 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
  44. 474.18 s [really-safe-money-gen] @@ -318,7 +318,7 @@
  45. 474.18 s [really-safe-money-gen] Maybe Amount
  46. 474.18 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  47. 474.18 s [really-safe-money-gen] | d < 0 = Nothing
  48. 474.18 s [really-safe-money-gen] - | otherwise =
  49. 474.18 s [really-safe-money-gen] + | True =
  50. 474.18 s [really-safe-money-gen] let resultDouble :: Double
  51. 474.18 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  52. 474.18 s [really-safe-money-gen] in go resultDouble
  53. 474.18 s [really-safe-money-gen]
  54. 474.33 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
  55. 474.33 s [really-safe-money-gen] @@ -318,7 +318,7 @@
  56. 474.33 s [really-safe-money-gen] Maybe Amount
  57. 474.33 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  58. 474.33 s [really-safe-money-gen] | d < 0 = Nothing
  59. 474.33 s [really-safe-money-gen] - | otherwise =
  60. 474.33 s [really-safe-money-gen] + | False =
  61. 474.33 s [really-safe-money-gen] let resultDouble :: Double
  62. 474.33 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  63. 474.33 s [really-safe-money-gen] in go resultDouble
  64. 474.33 s [really-safe-money-gen]
  65. 474.48 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:321:5-14:
  66. 474.48 s [really-safe-money-gen] @@ -318,7 +318,7 @@
  67. 474.48 s [really-safe-money-gen] Maybe Amount
  68. 474.48 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  69. 474.48 s [really-safe-money-gen] | d < 0 = Nothing
  70. 474.48 s [really-safe-money-gen] - | otherwise =
  71. 474.48 s [really-safe-money-gen] + | not (otherwise) =
  72. 474.48 s [really-safe-money-gen] let resultDouble :: Double
  73. 474.48 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  74. 474.48 s [really-safe-money-gen] in go resultDouble
  75. 474.48 s [really-safe-money-gen]
  76. 474.58 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16:
  77. 474.58 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  78. 474.58 s [really-safe-money-gen] in go resultDouble
  79. 474.58 s [really-safe-money-gen] where
  80. 474.58 s [really-safe-money-gen] go resultDouble
  81. 474.58 s [really-safe-money-gen] - | isNaN d = Nothing
  82. 474.58 s [really-safe-money-gen] + | True = Nothing
  83. 474.58 s [really-safe-money-gen] | isInfinite d = Nothing
  84. 474.58 s [really-safe-money-gen] | otherwise =
  85. 474.58 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  86. 474.58 s [really-safe-money-gen]
  87. 474.74 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16:
  88. 474.74 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  89. 474.75 s [really-safe-money-gen] in go resultDouble
  90. 474.75 s [really-safe-money-gen] where
  91. 474.75 s [really-safe-money-gen] go resultDouble
  92. 474.75 s [really-safe-money-gen] - | isNaN d = Nothing
  93. 474.75 s [really-safe-money-gen] + | False = Nothing
  94. 474.75 s [really-safe-money-gen] | isInfinite d = Nothing
  95. 474.75 s [really-safe-money-gen] | otherwise =
  96. 474.75 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  97. 474.75 s [really-safe-money-gen]
  98. 474.91 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:327:9-16:
  99. 474.91 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  100. 474.91 s [really-safe-money-gen] in go resultDouble
  101. 474.91 s [really-safe-money-gen] where
  102. 474.91 s [really-safe-money-gen] go resultDouble
  103. 474.91 s [really-safe-money-gen] - | isNaN d = Nothing
  104. 474.91 s [really-safe-money-gen] + | not (isNaN d) = Nothing
  105. 474.91 s [really-safe-money-gen] | isInfinite d = Nothing
  106. 474.91 s [really-safe-money-gen] | otherwise =
  107. 474.91 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  108. 474.91 s [really-safe-money-gen]
  109. 475.08 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21:
  110. 475.08 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  111. 475.08 s [really-safe-money-gen] where
  112. 475.08 s [really-safe-money-gen] go resultDouble
  113. 475.08 s [really-safe-money-gen] | isNaN d = Nothing
  114. 475.08 s [really-safe-money-gen] - | isInfinite d = Nothing
  115. 475.08 s [really-safe-money-gen] + | True = Nothing
  116. 475.08 s [really-safe-money-gen] | otherwise =
  117. 475.08 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  118. 475.08 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  119. 475.08 s [really-safe-money-gen]
  120. 475.25 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21:
  121. 475.25 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  122. 475.25 s [really-safe-money-gen] where
  123. 475.25 s [really-safe-money-gen] go resultDouble
  124. 475.25 s [really-safe-money-gen] | isNaN d = Nothing
  125. 475.25 s [really-safe-money-gen] - | isInfinite d = Nothing
  126. 475.25 s [really-safe-money-gen] + | False = Nothing
  127. 475.25 s [really-safe-money-gen] | otherwise =
  128. 475.25 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  129. 475.25 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  130. 475.25 s [really-safe-money-gen]
  131. 475.42 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:328:9-21:
  132. 475.42 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  133. 475.42 s [really-safe-money-gen] where
  134. 475.42 s [really-safe-money-gen] go resultDouble
  135. 475.42 s [really-safe-money-gen] | isNaN d = Nothing
  136. 475.42 s [really-safe-money-gen] - | isInfinite d = Nothing
  137. 475.42 s [really-safe-money-gen] + | not (isInfinite d) = Nothing
  138. 475.42 s [really-safe-money-gen] | otherwise =
  139. 475.42 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  140. 475.42 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  141. 475.42 s [really-safe-money-gen]
  142. 475.60 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
  143. 475.60 s [really-safe-money-gen] @@ -326,7 +326,7 @@
  144. 475.60 s [really-safe-money-gen] go resultDouble
  145. 475.60 s [really-safe-money-gen] | isNaN d = Nothing
  146. 475.60 s [really-safe-money-gen] | isInfinite d = Nothing
  147. 475.60 s [really-safe-money-gen] - | otherwise =
  148. 475.60 s [really-safe-money-gen] + | True =
  149. 475.61 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  150. 475.61 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  151. 475.61 s [really-safe-money-gen] if exponent resultDouble > 65
  152. 475.61 s [really-safe-money-gen]
  153. 475.75 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
  154. 475.75 s [really-safe-money-gen] @@ -326,7 +326,7 @@
  155. 475.75 s [really-safe-money-gen] go resultDouble
  156. 475.75 s [really-safe-money-gen] | isNaN d = Nothing
  157. 475.75 s [really-safe-money-gen] | isInfinite d = Nothing
  158. 475.75 s [really-safe-money-gen] - | otherwise =
  159. 475.75 s [really-safe-money-gen] + | False =
  160. 475.75 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  161. 475.75 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  162. 475.75 s [really-safe-money-gen] if exponent resultDouble > 65
  163. 475.75 s [really-safe-money-gen]
  164. 475.90 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:329:9-18:
  165. 475.90 s [really-safe-money-gen] @@ -326,7 +326,7 @@
  166. 475.90 s [really-safe-money-gen] go resultDouble
  167. 475.90 s [really-safe-money-gen] | isNaN d = Nothing
  168. 475.90 s [really-safe-money-gen] | isInfinite d = Nothing
  169. 475.90 s [really-safe-money-gen] - | otherwise =
  170. 475.90 s [really-safe-money-gen] + | not (otherwise) =
  171. 475.90 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  172. 475.90 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  173. 475.90 s [really-safe-money-gen] if exponent resultDouble > 65
  174. 475.90 s [really-safe-money-gen]
  175. 476.00 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
  176. 476.00 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  177. 476.00 s [really-safe-money-gen] | otherwise =
  178. 476.00 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  179. 476.00 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  180. 476.00 s [really-safe-money-gen] - if exponent resultDouble > 65
  181. 476.00 s [really-safe-money-gen] + if exponent resultDouble > 0
  182. 476.00 s [really-safe-money-gen] then Nothing
  183. 476.00 s [really-safe-money-gen] else
  184. 476.00 s [really-safe-money-gen] let ceiled :: Natural
  185. 476.00 s [really-safe-money-gen]
  186. 476.13 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
  187. 476.13 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  188. 476.13 s [really-safe-money-gen] | otherwise =
  189. 476.13 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  190. 476.13 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  191. 476.14 s [really-safe-money-gen] - if exponent resultDouble > 65
  192. 476.14 s [really-safe-money-gen] + if exponent resultDouble > 1
  193. 476.14 s [really-safe-money-gen] then Nothing
  194. 476.14 s [really-safe-money-gen] else
  195. 476.14 s [really-safe-money-gen] let ceiled :: Natural
  196. 476.14 s [really-safe-money-gen]
  197. 476.27 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
  198. 476.34 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  199. 476.34 s [really-safe-money-gen] | otherwise =
  200. 476.34 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  201. 476.34 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  202. 476.34 s [really-safe-money-gen] - if exponent resultDouble > 65
  203. 476.34 s [really-safe-money-gen] + if exponent resultDouble > -65
  204. 476.34 s [really-safe-money-gen] then Nothing
  205. 476.34 s [really-safe-money-gen] else
  206. 476.34 s [really-safe-money-gen] let ceiled :: Natural
  207. 476.34 s [really-safe-money-gen]
  208. 476.41 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40:
  209. 476.41 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  210. 476.41 s [really-safe-money-gen] | otherwise =
  211. 476.41 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  212. 476.41 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  213. 476.41 s [really-safe-money-gen] - if exponent resultDouble > 65
  214. 476.41 s [really-safe-money-gen] + if True
  215. 476.41 s [really-safe-money-gen] then Nothing
  216. 476.41 s [really-safe-money-gen] else
  217. 476.41 s [really-safe-money-gen] let ceiled :: Natural
  218. 476.41 s [really-safe-money-gen]
  219. 476.62 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40:
  220. 476.62 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  221. 476.62 s [really-safe-money-gen] | otherwise =
  222. 476.62 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  223. 476.62 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  224. 476.62 s [really-safe-money-gen] - if exponent resultDouble > 65
  225. 476.62 s [really-safe-money-gen] + if False
  226. 476.62 s [really-safe-money-gen] then Nothing
  227. 476.62 s [really-safe-money-gen] else
  228. 476.62 s [really-safe-money-gen] let ceiled :: Natural
  229. 476.62 s [really-safe-money-gen]
  230. 476.85 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:332:14-40:
  231. 476.85 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  232. 476.85 s [really-safe-money-gen] | otherwise =
  233. 476.85 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  234. 476.85 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  235. 476.85 s [really-safe-money-gen] - if exponent resultDouble > 65
  236. 476.85 s [really-safe-money-gen] + if not (exponent resultDouble > 65)
  237. 476.85 s [really-safe-money-gen] then Nothing
  238. 476.85 s [really-safe-money-gen] else
  239. 476.85 s [really-safe-money-gen] let ceiled :: Natural
  240. 476.85 s [really-safe-money-gen]
  241. 477.08 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39:
  242. 477.08 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  243. 477.08 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  244. 477.08 s [really-safe-money-gen] floored :: Natural
  245. 477.08 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  246. 477.08 s [really-safe-money-gen] - in if ceiled == floored
  247. 477.08 s [really-safe-money-gen] + in if True
  248. 477.08 s [really-safe-money-gen] then
  249. 477.08 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  250. 477.08 s [really-safe-money-gen] then Nothing
  251. 477.08 s [really-safe-money-gen]
  252. 477.23 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39:
  253. 477.23 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  254. 477.23 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  255. 477.23 s [really-safe-money-gen] floored :: Natural
  256. 477.24 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  257. 477.24 s [really-safe-money-gen] - in if ceiled == floored
  258. 477.24 s [really-safe-money-gen] + in if False
  259. 477.24 s [really-safe-money-gen] then
  260. 477.24 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  261. 477.24 s [really-safe-money-gen] then Nothing
  262. 477.24 s [really-safe-money-gen]
  263. 477.38 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:339:22-39:
  264. 477.38 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  265. 477.38 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  266. 477.38 s [really-safe-money-gen] floored :: Natural
  267. 477.38 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  268. 477.38 s [really-safe-money-gen] - in if ceiled == floored
  269. 477.38 s [really-safe-money-gen] + in if not (ceiled == floored)
  270. 477.38 s [really-safe-money-gen] then
  271. 477.39 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  272. 477.39 s [really-safe-money-gen] then Nothing
  273. 477.39 s [really-safe-money-gen]
  274. 477.53 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91:
  275. 477.53 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  276. 477.53 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  277. 477.53 s [really-safe-money-gen] in if ceiled == floored
  278. 477.53 s [really-safe-money-gen] then
  279. 477.53 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  280. 477.53 s [really-safe-money-gen] + if True
  281. 477.53 s [really-safe-money-gen] then Nothing
  282. 477.53 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  283. 477.53 s [really-safe-money-gen] else Nothing
  284. 477.53 s [really-safe-money-gen]
  285. 477.76 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91:
  286. 477.76 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  287. 477.76 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  288. 477.76 s [really-safe-money-gen] in if ceiled == floored
  289. 477.76 s [really-safe-money-gen] then
  290. 477.76 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  291. 477.76 s [really-safe-money-gen] + if False
  292. 477.76 s [really-safe-money-gen] then Nothing
  293. 477.76 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  294. 477.76 s [really-safe-money-gen] else Nothing
  295. 477.76 s [really-safe-money-gen]
  296. 477.98 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:341:26-91:
  297. 477.98 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  298. 477.98 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  299. 477.98 s [really-safe-money-gen] in if ceiled == floored
  300. 477.98 s [really-safe-money-gen] then
  301. 477.98 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  302. 477.98 s [really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
  303. 477.98 s [really-safe-money-gen] then Nothing
  304. 477.98 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  305. 477.98 s [really-safe-money-gen] else Nothing
  306. 477.98 s [really-safe-money-gen]
  307. 478.13 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:341:23-65:
  308. 478.13 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  309. 478.13 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  310. 478.13 s [really-safe-money-gen] in if ceiled == floored
  311. 478.13 s [really-safe-money-gen] then
  312. 478.13 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  313. 478.13 s [really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  314. 478.13 s [really-safe-money-gen] then Nothing
  315. 478.13 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  316. 478.13 s [really-safe-money-gen] else Nothing
  317. 478.13 s [really-safe-money-gen]
  318. 478.28 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:339:19-33:
  319. 478.28 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  320. 478.28 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  321. 478.28 s [really-safe-money-gen] floored :: Natural
  322. 478.28 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  323. 478.28 s [really-safe-money-gen] - in if ceiled == floored
  324. 478.28 s [really-safe-money-gen] + in if ceiled == floored
  325. 478.28 s [really-safe-money-gen] then
  326. 478.28 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  327. 478.28 s [really-safe-money-gen] then Nothing
  328. 478.28 s [really-safe-money-gen]
  329. 478.43 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:332:11-33:
  330. 478.43 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  331. 478.43 s [really-safe-money-gen] | otherwise =
  332. 478.43 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  333. 478.43 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  334. 478.43 s [really-safe-money-gen] - if exponent resultDouble > 65
  335. 478.43 s [really-safe-money-gen] + if exponent resultDouble > 65
  336. 478.43 s [really-safe-money-gen] then Nothing
  337. 478.43 s [really-safe-money-gen] else
  338. 478.43 s [really-safe-money-gen] let ceiled :: Natural
  339. 478.43 s [really-safe-money-gen]
  340. 478.65 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:290:79-80:
  341. 478.65 s [really-safe-money-gen] @@ -287,7 +287,7 @@
  342. 478.65 s [really-safe-money-gen] -- >>> toRatio (QuantisationFactor 100) (Amount 1)
  343. 478.65 s [really-safe-money-gen] -- 1 % 100
  344. 478.65 s [really-safe-money-gen] toRatio :: QuantisationFactor -> Amount -> Ratio Natural
  345. 478.65 s [really-safe-money-gen] -toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 0
  346. 478.65 s [really-safe-money-gen] +toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 1
  347. 478.65 s [really-safe-money-gen] toRatio (QuantisationFactor quantisationFactor) a =
  348. 478.66 s [really-safe-money-gen] (fromIntegral :: Word64 -> Natural) (toMinimalQuantisations a)
  349. 478.66 s [really-safe-money-gen] % (fromIntegral :: Word32 -> Natural) quantisationFactor
  350. 478.66 s [really-safe-money-gen]
  351. 478.75 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:494:96-97:
  352. 478.75 s [really-safe-money-gen] @@ -491,7 +491,7 @@
  353. 478.75 s [really-safe-money-gen] let maxBoundI :: Integer
  354. 478.75 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  355. 478.75 s [really-safe-money-gen] r :: Integer
  356. 478.75 s [really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  357. 478.75 s [really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 1 l
  358. 478.75 s [really-safe-money-gen] in if r > maxBoundI
  359. 478.75 s [really-safe-money-gen] then Nothing
  360. 478.75 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  361. 478.75 s [really-safe-money-gen]
  362. 478.85 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23:
  363. 478.85 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  364. 478.85 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  365. 478.85 s [really-safe-money-gen] r :: Integer
  366. 478.85 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  367. 478.85 s [really-safe-money-gen] - in if r > maxBoundI
  368. 478.85 s [really-safe-money-gen] + in if True
  369. 478.85 s [really-safe-money-gen] then Nothing
  370. 478.85 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  371. 478.85 s [really-safe-money-gen]
  372. 478.85 s [really-safe-money-gen]
  373. 478.98 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23:
  374. 478.98 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  375. 478.98 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  376. 478.99 s [really-safe-money-gen] r :: Integer
  377. 478.99 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  378. 478.99 s [really-safe-money-gen] - in if r > maxBoundI
  379. 478.99 s [really-safe-money-gen] + in if False
  380. 478.99 s [really-safe-money-gen] then Nothing
  381. 478.99 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  382. 478.99 s [really-safe-money-gen]
  383. 478.99 s [really-safe-money-gen]
  384. 479.12 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:495:10-23:
  385. 479.12 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  386. 479.12 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  387. 479.12 s [really-safe-money-gen] r :: Integer
  388. 479.12 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  389. 479.12 s [really-safe-money-gen] - in if r > maxBoundI
  390. 479.12 s [really-safe-money-gen] + in if not (r > maxBoundI)
  391. 479.12 s [really-safe-money-gen] then Nothing
  392. 479.12 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  393. 479.12 s [really-safe-money-gen]
  394. 479.12 s [really-safe-money-gen]
  395. 479.22 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:495:7-66:
  396. 479.22 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  397. 479.22 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  398. 479.22 s [really-safe-money-gen] r :: Integer
  399. 479.22 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  400. 479.22 s [really-safe-money-gen] - in if r > maxBoundI
  401. 479.22 s [really-safe-money-gen] + in if r > maxBoundI
  402. 479.22 s [really-safe-money-gen] then Nothing
  403. 479.22 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  404. 479.22 s [really-safe-money-gen]
  405. 479.22 s [really-safe-money-gen]
  406. 479.32 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:250:15-16:
  407. 479.32 s [really-safe-money-gen] @@ -247,7 +247,7 @@
  408. 479.32 s [really-safe-money-gen] -- >>> zero
  409. 479.32 s [really-safe-money-gen] -- Amount 0
  410. 479.32 s [really-safe-money-gen] zero :: Amount
  411. 479.32 s [really-safe-money-gen] -zero = Amount 0
  412. 479.32 s [really-safe-money-gen] +zero = Amount 1
  413. 479.32 s [really-safe-money-gen]
  414. 479.32 s [really-safe-money-gen] -- | Turn an amount into a number of minimal quantisations.
  415. 479.32 s [really-safe-money-gen] --
  416. 479.32 s [really-safe-money-gen]
  417. 479.42 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:661:30-31:
  418. 479.42 s [really-safe-money-gen] @@ -658,7 +658,7 @@
  419. 479.42 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  420. 479.42 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  421. 479.42 s [really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
  422. 479.42 s [really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
  423. 479.42 s [really-safe-money-gen] +fraction _ _ 0 = (Just zero, 1)
  424. 479.42 s [really-safe-money-gen] fraction r (Amount a) f =
  425. 479.42 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  426. 479.42 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  427. 479.42 s [really-safe-money-gen]
  428. 479.63 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37:
  429. 479.63 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  430. 479.63 s [really-safe-money-gen] maxBoundN :: Natural
  431. 479.63 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  432. 479.63 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  433. 479.63 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  434. 479.63 s [really-safe-money-gen] + in ( if True
  435. 479.63 s [really-safe-money-gen] then Nothing
  436. 479.63 s [really-safe-money-gen] else Just result,
  437. 479.63 s [really-safe-money-gen] actualRate
  438. 479.63 s [really-safe-money-gen]
  439. 479.79 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37:
  440. 479.79 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  441. 479.79 s [really-safe-money-gen] maxBoundN :: Natural
  442. 479.79 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  443. 479.79 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  444. 479.79 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  445. 479.79 s [really-safe-money-gen] + in ( if False
  446. 479.79 s [really-safe-money-gen] then Nothing
  447. 479.79 s [really-safe-money-gen] else Just result,
  448. 479.79 s [really-safe-money-gen] actualRate
  449. 479.79 s [really-safe-money-gen]
  450. 479.96 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:681:12-37:
  451. 479.96 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  452. 479.96 s [really-safe-money-gen] maxBoundN :: Natural
  453. 479.96 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  454. 479.96 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  455. 479.96 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  456. 479.96 s [really-safe-money-gen] + in ( if not (roundedResult > maxBoundN)
  457. 479.96 s [really-safe-money-gen] then Nothing
  458. 479.96 s [really-safe-money-gen] else Just result,
  459. 479.96 s [really-safe-money-gen] actualRate
  460. 479.96 s [really-safe-money-gen]
  461. 480.13 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:681:9-27:
  462. 480.13 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  463. 480.13 s [really-safe-money-gen] maxBoundN :: Natural
  464. 480.13 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  465. 480.13 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  466. 480.13 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  467. 480.13 s [really-safe-money-gen] + in ( if roundedResult > maxBoundN
  468. 480.13 s [really-safe-money-gen] then Nothing
  469. 480.13 s [really-safe-money-gen] else Just result,
  470. 480.13 s [really-safe-money-gen] actualRate
  471. 480.13 s [really-safe-money-gen]
  472. 480.29 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92:
  473. 480.29 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  474. 480.29 s [really-safe-money-gen]
  475. 480.29 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  476. 480.29 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  477. 480.29 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  478. 480.29 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ True
  479. 480.29 s [really-safe-money-gen]
  480. 480.29 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92:
  481. 480.29 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  482. 480.29 s [really-safe-money-gen]
  483. 480.29 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  484. 480.29 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  485. 480.29 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  486. 480.29 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ False
  487. 480.29 s [really-safe-money-gen]
  488. 480.29 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:806:79-92:
  489. 480.29 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  490. 480.29 s [really-safe-money-gen]
  491. 480.29 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  492. 480.29 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  493. 480.30 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  494. 480.30 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ not (amount > zero)
  495. 480.30 s [really-safe-money-gen]
  496. 480.30 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
  497. 480.30 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  498. 480.30 s [really-safe-money-gen] case ad of
  499. 480.30 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  500. 480.30 s [really-safe-money-gen] declare "The larger chunks are larger" $
  501. 480.30 s [really-safe-money-gen] - a1 > a2
  502. 480.30 s [really-safe-money-gen] + True
  503. 480.30 s [really-safe-money-gen] _ -> valid
  504. 480.30 s [really-safe-money-gen] ]
  505. 480.30 s [really-safe-money-gen]
  506. 480.30 s [really-safe-money-gen]
  507. 480.50 s [really-safe-money-gen] Double) qf
  508. 480.50 s [really-safe-money-gen] Tests:
  509. 480.50 s [really-safe-money-gen]
  510. 480.51 s [really-safe-money-gen] Money.AccountSpec
  511. 480.51 s [really-safe-money-gen] fromDouble
  512. 480.51 s [really-safe-money-gen] produces valid rational 36.51 ms
  513. 480.51 s [really-safe-money-gen] passed for all of 10000 inputs.
  514. 480.51 s [really-safe-money-gen]
  515. 480.51 s [really-safe-money-gen]
  516. 480.51 s [really-safe-money-gen]
  517. 480.51 s [really-safe-money-gen] Examples: 10000
  518. 480.51 s [really-safe-money-gen] Passed: 1
  519. 480.51 s [really-safe-money-gen] Failed: 0
  520. 480.51 s [really-safe-money-gen] Sum of test runtimes: 0.04 seconds
  521. 480.51 s [really-safe-money-gen] Test suite took: 0.04 seconds
  522. 480.51 s [really-safe-money-gen]
  523. 480.51 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
  524. 480.51 s [really-safe-money-gen] @@ -318,7 +318,7 @@
  525. 480.51 s [really-safe-money-gen] Maybe Amount
  526. 480.51 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  527. 480.51 s [really-safe-money-gen] | d < 0 = Nothing
  528. 480.51 s [really-safe-money-gen] - | otherwise =
  529. 480.51 s [really-safe-money-gen] + | True =
  530. 480.51 s [really-safe-money-gen] let resultDouble :: Double
  531. 480.51 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  532. 480.51 s [really-safe-money-gen] in go resultDouble
  533. 480.51 s [really-safe-money-gen] Tests:
  534. 480.51 s [really-safe-money-gen]
  535. 480.51 s [really-safe-money-gen] Money.AccountSpec
  536. 480.51 s [really-safe-money-gen] fromDouble
  537. 480.51 s [really-safe-money-gen] produces valid rational 47.45 ms
  538. 480.51 s [really-safe-money-gen] passed for all of 10000 inputs.
  539. 480.51 s [really-safe-money-gen]
  540. 480.51 s [really-safe-money-gen]
  541. 480.51 s [really-safe-money-gen]
  542. 480.51 s [really-safe-money-gen] Examples: 10000
  543. 480.51 s [really-safe-money-gen] Passed: 1
  544. 480.51 s [really-safe-money-gen] Failed: 0
  545. 480.51 s [really-safe-money-gen] Sum of test runtimes: 0.05 seconds
  546. 480.51 s [really-safe-money-gen] Test suite took: 0.05 seconds
  547. 480.51 s [really-safe-money-gen]
  548. 480.51 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
  549. 480.51 s [really-safe-money-gen] @@ -318,7 +318,7 @@
  550. 480.51 s [really-safe-money-gen] Maybe Amount
  551. 480.51 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  552. 480.51 s [really-safe-money-gen] | d < 0 = Nothing
  553. 480.51 s [really-safe-money-gen] - | otherwise =
  554. 480.51 s [really-safe-money-gen] + | False =
  555. 480.51 s [really-safe-money-gen] let resultDouble :: Double
  556. 480.51 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  557. 480.51 s [really-safe-money-gen] in go resultDouble
  558. 480.51 s [really-safe-money-gen] Tests:
  559. 480.51 s [really-safe-money-gen]
  560. 480.51 s [really-safe-money-gen] Money.AccountSpec
  561. 480.51 s [really-safe-money-gen] fromDouble
  562. 480.51 s [really-safe-money-gen] produces valid rational 52.47 ms
  563. 480.51 s [really-safe-money-gen] passed for all of 10000 inputs.
  564. 480.51 s [really-safe-money-gen]
  565. 480.51 s [really-safe-money-gen]
  566. 480.51 s [really-safe-money-gen]
  567. 480.51 s [really-safe-money-gen] Examples: 10000
  568. 480.51 s [really-safe-money-gen] Passed: 1
  569. 480.51 s [really-safe-money-gen] Failed: 0
  570. 480.51 s [really-safe-money-gen] Sum of test runtimes: 0.05 seconds
  571. 480.51 s [really-safe-money-gen] Test suite took: 0.06 seconds
  572. 480.51 s [really-safe-money-gen]
  573. 480.51 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
  574. 480.51 s [really-safe-money-gen] @@ -326,7 +326,7 @@
  575. 480.51 s [really-safe-money-gen] go resultDouble
  576. 480.51 s [really-safe-money-gen] | isNaN d = Nothing
  577. 480.51 s [really-safe-money-gen] | isInfinite d = Nothing
  578. 480.51 s [really-safe-money-gen] - | otherwise =
  579. 480.51 s [really-safe-money-gen] + | True =
  580. 480.51 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  581. 480.51 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  582. 480.51 s [really-safe-money-gen] if exponent resultDouble > 65
  583. 480.51 s [really-safe-money-gen] Tests:
  584. 480.51 s [really-safe-money-gen]
  585. 480.51 s [really-safe-money-gen] Money.AccountSpec
  586. 480.51 s [really-safe-money-gen] fromDouble
  587. 480.51 s [really-safe-money-gen] produces valid rational 52.33 ms
  588. 480.51 s [really-safe-money-gen] passed for all of 10000 inputs.
  589. 480.51 s [really-safe-money-gen]
  590. 480.51 s [really-safe-money-gen]
  591. 480.51 s [really-safe-money-gen]
  592. 480.51 s [really-safe-money-gen] Examples: 10000
  593. 480.51 s [really-safe-money-gen] Passed: 1
  594. 480.51 s [really-safe-money-gen] Failed: 0
  595. 480.51 s [really-safe-money-gen] Sum of test runtimes: 0.05 seconds
  596. 480.51 s [really-safe-money-gen] Test suite took: 0.05 seconds
  597. 480.51 s [really-safe-money-gen]
  598. 480.51 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
  599. 480.51 s [really-safe-money-gen] @@ -326,7 +326,7 @@
  600. 480.51 s [really-safe-money-gen] go resultDouble
  601. 480.51 s [really-safe-money-gen] | isNaN d = Nothing
  602. 480.51 s [really-safe-money-gen] | isInfinite d = Nothing
  603. 480.51 s [really-safe-money-gen] - | otherwise =
  604. 480.51 s [really-safe-money-gen] + | False =
  605. 480.51 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  606. 480.51 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  607. 480.51 s [really-safe-money-gen] if exponent resultDouble > 65
  608. 480.51 s [really-safe-money-gen] Tests:
  609. 480.51 s [really-safe-money-gen]
  610. 480.51 s [really-safe-money-gen] Money.AccountSpec
  611. 480.51 s [really-safe-money-gen] fromDouble
  612. 480.51 s [really-safe-money-gen] produces valid rational 54.44 ms
  613. 480.51 s [really-safe-money-gen] passed for all of 10000 inputs.
  614. 480.51 s [really-safe-money-gen]
  615. 480.51 s [really-safe-money-gen]
  616. 480.51 s [really-safe-money-gen]
  617. 480.51 s [really-safe-money-gen] Examples: 10000
  618. 480.51 s [really-safe-money-gen] Passed: 1
  619. 480.51 s [really-safe-money-gen] Failed: 0
  620. 480.51 s [really-safe-money-gen] Sum of test runtimes: 0.05 seconds
  621. 480.51 s [really-safe-money-gen] Test suite took: 0.06 seconds
  622. 480.51 s [really-safe-money-gen]
  623. 480.51 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
  624. 480.51 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  625. 480.51 s [really-safe-money-gen] | otherwise =
  626. 480.51 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  627. 480.51 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  628. 480.51 s [really-safe-money-gen] - if exponent resultDouble > 65
  629. 480.51 s [really-safe-money-gen] + if exponent resultDouble > 0
  630. 480.51 s [really-safe-money-gen] then Nothing
  631. 480.51 s [really-safe-money-gen] else
  632. 480.51 s [really-safe-money-gen] let ceiled :: Natural
  633. 480.51 s [really-safe-money-gen] Tests:
  634. 480.51 s [really-safe-money-gen]
  635. 480.51 s [really-safe-money-gen] Money.AccountSpec
  636. 480.51 s [really-safe-money-gen] fromDouble
  637. 480.51 s [really-safe-money-gen] produces valid rational 46.32 ms
  638. 480.51 s [really-safe-money-gen] passed for all of 10000 inputs.
  639. 480.51 s [really-safe-money-gen]
  640. 480.51 s [really-safe-money-gen]
  641. 480.51 s [really-safe-money-gen]
  642. 480.51 s [really-safe-money-gen] Examples: 10000
  643. 480.51 s [really-safe-money-gen] Passed: 1
  644. 480.51 s [really-safe-money-gen] Failed: 0
  645. 480.51 s [really-safe-money-gen] Sum of test runtimes: 0.05 seconds
  646. 480.51 s [really-safe-money-gen] Test suite took: 0.05 seconds
  647. 480.51 s [really-safe-money-gen]
  648. 480.51 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
  649. 480.51 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  650. 480.51 s [really-safe-money-gen] | otherwise =
  651. 480.51 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  652. 480.51 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  653. 480.51 s [really-safe-money-gen] - if exponent resultDouble > 65
  654. 480.51 s [really-safe-money-gen] + if exponent resultDouble > 1
  655. 480.51 s [really-safe-money-gen] then Nothing
  656. 480.51 s [really-safe-money-gen] else
  657. 480.51 s [really-safe-money-gen] let ceiled :: Natural
  658. 480.51 s [really-safe-money-gen] Tests:
  659. 480.51 s [really-safe-money-gen]
  660. 480.51 s [really-safe-money-gen] Money.AccountSpec
  661. 480.51 s [really-safe-money-gen] fromDouble
  662. 480.51 s [really-safe-money-gen] produces valid rational 46.32 ms
  663. 480.51 s [really-safe-money-gen] passed for all of 10000 inputs.
  664. 480.51 s [really-safe-money-gen]
  665. 480.51 s [really-safe-money-gen]
  666. 480.51 s [really-safe-money-gen]
  667. 480.51 s [really-safe-money-gen] Examples: 10000
  668. 480.51 s [really-safe-money-gen] Passed: 1
  669. 480.51 s [really-safe-money-gen] Failed: 0
  670. 480.51 s [really-safe-money-gen] Sum of test runtimes: 0.05 seconds
  671. 480.51 s [really-safe-money-gen] Test suite took: 0.05 seconds
  672. 480.51 s [really-safe-money-gen]
  673. 480.51 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
  674. 480.51 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  675. 480.51 s [really-safe-money-gen] | otherwise =
  676. 480.51 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  677. 480.51 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  678. 480.51 s [really-safe-money-gen] - if exponent resultDouble > 65
  679. 480.51 s [really-safe-money-gen] + if exponent resultDouble > -65
  680. 480.51 s [really-safe-money-gen] then Nothing
  681. 480.51 s [really-safe-money-gen] else
  682. 480.51 s [really-safe-money-gen] let ceiled :: Natural
  683. 480.51 s [really-safe-money-gen] Tests:
  684. 480.51 s [really-safe-money-gen]
  685. 480.51 s [really-safe-money-gen] Money.AccountSpec
  686. 480.51 s [really-safe-money-gen] fromDouble
  687. 480.51 s [really-safe-money-gen] produces valid rational 45.93 ms
  688. 480.51 s [really-safe-money-gen] passed for all of 10000 inputs.
  689. 480.51 s [really-safe-money-gen]
  690. 480.51 s [really-safe-money-gen]
  691. 480.51 s [really-safe-money-gen]
  692. 480.51 s [really-safe-money-gen] Examples: 10000
  693. 480.51 s [really-safe-money-gen] Passed: 1
  694. 480.51 s [really-safe-money-gen] Failed: 0
  695. 480.51 s [really-safe-money-gen] Sum of test runtimes: 0.05 seconds
  696. 480.51 s [really-safe-money-gen] Test suite took: 0.05 seconds
  697. 480.51 s [really-safe-money-gen]
  698. 480.51 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:494:96-97:
  699. 480.51 s [really-safe-money-gen] @@ -491,7 +491,7 @@
  700. 480.51 s [really-safe-money-gen] let maxBoundI :: Integer
  701. 480.51 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  702. 480.51 s [really-safe-money-gen] r :: Integer
  703. 480.51 s [really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  704. 480.51 s [really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 1 l
  705. 480.51 s [really-safe-money-gen] in if r > maxBoundI
  706. 480.51 s [really-safe-money-gen] then Nothing
  707. 480.51 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  708. 480.51 s [really-safe-money-gen] Tests:
  709. 480.51 s [really-safe-money-gen]
  710. 480.51 s [really-safe-money-gen] Money.AmountOfSpec
  711. 480.51 s [really-safe-money-gen] USD
  712. 480.51 s [really-safe-money-gen] sum
  713. 480.51 s [really-safe-money-gen] produces valid amounts 1.33 ms
  714. 480.51 s [really-safe-money-gen] passed for all of 100 inputs.
  715. 480.51 s [really-safe-money-gen]
  716. 480.51 s [really-safe-money-gen]
  717. 480.51 s [really-safe-money-gen]
  718. 480.51 s [really-safe-money-gen] Examples: 100
  719. 480.51 s [really-safe-money-gen] Passed: 1
  720. 480.51 s [really-safe-money-gen] Failed: 0
  721. 480.51 s [really-safe-money-gen] Sum of test runtimes: 0.00 seconds
  722. 480.51 s [really-safe-money-gen] Test suite took: 0.00 seconds
  723. 480.51 s [really-safe-money-gen]
  724. 480.51 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:661:30-31:
  725. 480.51 s [really-safe-money-gen] @@ -658,7 +658,7 @@
  726. 480.51 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  727. 480.51 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  728. 480.51 s [really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
  729. 480.51 s [really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
  730. 480.51 s [really-safe-money-gen] +fraction _ _ 0 = (Just zero, 1)
  731. 480.51 s [really-safe-money-gen] fraction r (Amount a) f =
  732. 480.51 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  733. 480.51 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  734. 480.51 s [really-safe-money-gen] Tests:
  735. 480.51 s [really-safe-money-gen]
  736. 480.51 s [really-safe-money-gen] Money.AccountSpec
  737. 480.51 s [really-safe-money-gen] fractionRatio
  738. 480.51 s [really-safe-money-gen] produces valid amounts 106.69 ms
  739. 480.51 s [really-safe-money-gen] passed for all of 10000 inputs.
  740. 480.51 s [really-safe-money-gen]
  741. 480.51 s [really-safe-money-gen]
  742. 480.51 s [really-safe-money-gen]
  743. 480.51 s [really-safe-money-gen] Examples: 10000
  744. 480.51 s [really-safe-money-gen] Passed: 1
  745. 480.52 s [really-safe-money-gen] Failed: 0
  746. 480.52 s [really-safe-money-gen] Sum of test runtimes: 0.11 seconds
  747. 480.52 s [really-safe-money-gen] Test suite took: 0.11 seconds
  748. 480.52 s [really-safe-money-gen]
  749. 480.52 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
  750. 480.52 s [really-safe-money-gen] @Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
  751. 480.52 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  752. 480.52 s [really-safe-money-gen] case ad of
  753. 480.52 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  754. 480.52 s [really-safe-money-gen] declare "The larger chunks are larger" $
  755. 480.52 s [really-safe-money-gen] - a1 > a2
  756. 480.52 s [really-safe-money-gen] + False
  757. 480.52 s [really-safe-money-gen] _ -> valid
  758. 480.52 s [really-safe-money-gen] ]
  759. 480.52 s [really-safe-money-gen]
  760. 480.52 s [really-safe-money-gen]
  761. 480.72 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:607:15-22:
  762. 480.72 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  763. 480.72 s [really-safe-money-gen] case ad of
  764. 480.72 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  765. 480.72 s [really-safe-money-gen] declare "The larger chunks are larger" $
  766. 480.72 s [really-safe-money-gen] - a1 > a2
  767. 480.72 s [really-safe-money-gen] + not (a1 > a2)
  768. 480.72 s [really-safe-money-gen] _ -> valid
  769. 480.72 s [really-safe-money-gen] ]
  770. 480.72 s [really-safe-money-gen]
  771. 480.72 s [really-safe-money-gen]
  772. 480.81 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
  773. 480.81 s [really-safe-money-gen] @@ -600,7 +600,7 @@
  774. 480.81 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  775. 480.81 s [really-safe-money-gen] validate ad =
  776. 480.81 s [really-safe-money-gen] mconcat
  777. 480.82 s [really-safe-money-gen] - [ genericValidate ad,
  778. 480.82 s [really-safe-money-gen] + [ genericValidate ad,
  779. 480.82 s [really-safe-money-gen] case ad of
  780. 480.82 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  781. 480.82 s [really-safe-money-gen] declare "The larger chunks are larger" $
  782. 480.82 s [really-safe-money-gen]
  783. 480.97 s [really-safe-money-gen] @ -604,7 +604,7 @@
  784. 480.97 s [really-safe-money-gen] case ad of
  785. 480.97 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  786. 480.97 s [really-safe-money-gen] declare "The larger chunks are larger" $
  787. 480.97 s [really-safe-money-gen] - a1 > a2
  788. 480.97 s [really-safe-money-gen] + True
  789. 480.97 s [really-safe-money-gen] _ -> valid
  790. 480.97 s [really-safe-money-gen] ]
  791. 480.97 s [really-safe-money-gen]
  792. 480.97 s [really-safe-money-gen] Tests:
  793. 480.97 s [really-safe-money-gen]
  794. 480.97 s [really-safe-money-gen] Money.AccountSpec
  795. 480.97 s [really-safe-money-gen] distribute
  796. 480.97 s [really-safe-money-gen] produces valid amounts 42.89 ms
  797. 480.97 s [really-safe-money-gen] passed for all of 10000 inputs.
  798. 480.97 s [really-safe-money-gen] Money.AccountOfSpec
  799. 480.97 s [really-safe-money-gen] USD
  800. 480.97 s [really-safe-money-gen] distribute
  801. 480.97 s [really-safe-money-gen] produces valid amounts 0.40 ms
  802. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  803. 480.97 s [really-safe-money-gen] INR
  804. 480.97 s [really-safe-money-gen] distribute
  805. 480.97 s [really-safe-money-gen] produces valid amounts 0.35 ms
  806. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  807. 480.97 s [really-safe-money-gen] CHF
  808. 480.97 s [really-safe-money-gen] distribute
  809. 480.97 s [really-safe-money-gen] produces valid amounts 0.75 ms
  810. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  811. 480.97 s [really-safe-money-gen] ADA
  812. 480.97 s [really-safe-money-gen] distribute
  813. 480.97 s [really-safe-money-gen] produces valid amounts 0.36 ms
  814. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  815. 480.97 s [really-safe-money-gen] BTC
  816. 480.97 s [really-safe-money-gen] distribute
  817. 480.97 s [really-safe-money-gen] produces valid amounts 0.46 ms
  818. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  819. 480.97 s [really-safe-money-gen] Money.AmountOfSpec
  820. 480.97 s [really-safe-money-gen] USD
  821. 480.97 s [really-safe-money-gen] distribute
  822. 480.97 s [really-safe-money-gen] produces valid amounts 0.27 ms
  823. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  824. 480.97 s [really-safe-money-gen] ADA
  825. 480.97 s [really-safe-money-gen] distribute
  826. 480.97 s [really-safe-money-gen] produces valid amounts 0.30 ms
  827. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  828. 480.97 s [really-safe-money-gen] INR
  829. 480.97 s [really-safe-money-gen] distribute
  830. 480.97 s [really-safe-money-gen] produces valid amounts 0.41 ms
  831. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  832. 480.97 s [really-safe-money-gen] BTC
  833. 480.97 s [really-safe-money-gen] distribute
  834. 480.97 s [really-safe-money-gen] produces valid amounts 0.68 ms
  835. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  836. 480.97 s [really-safe-money-gen] CHF
  837. 480.97 s [really-safe-money-gen] distribute
  838. 480.97 s [really-safe-money-gen] produces valid amounts 0.41 ms
  839. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  840. 480.97 s [really-safe-money-gen] Money.AmountSpec
  841. 480.97 s [really-safe-money-gen] distribute
  842. 480.97 s [really-safe-money-gen] GenValid (Distribution Amount)
  843. 480.97 s [really-safe-money-gen] genValid :: Gen (Distribution Amount)
  844. 480.97 s [really-safe-money-gen] only generates valid '(Distribution Amount)'s 27.21 ms
  845. 480.97 s [really-safe-money-gen] passed for all of 10000 inputs.
  846. 480.97 s [really-safe-money-gen] produces valid amounts 35.89 ms
  847. 480.97 s [really-safe-money-gen] passed for all of 10000 inputs.
  848. 480.97 s [really-safe-money-gen]
  849. 480.97 s [really-safe-money-gen]
  850. 480.97 s [really-safe-money-gen]
  851. 480.97 s [really-safe-money-gen] Examples: 31000
  852. 480.97 s [really-safe-money-gen] Passed: 13
  853. 480.97 s [really-safe-money-gen] Failed: 0
  854. 480.97 s [really-safe-money-gen] Sum of test runtimes: 0.11 seconds
  855. 480.97 s [really-safe-money-gen] Test suite took: 0.12 seconds
  856. 480.97 s [really-safe-money-gen]
  857. 480.97 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
  858. 480.97 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  859. 480.97 s [really-safe-money-gen] case ad of
  860. 480.97 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  861. 480.97 s [really-safe-money-gen] declare "The larger chunks are larger" $
  862. 480.97 s [really-safe-money-gen] - a1 > a2
  863. 480.97 s [really-safe-money-gen] + False
  864. 480.97 s [really-safe-money-gen] _ -> valid
  865. 480.97 s [really-safe-money-gen] ]
  866. 480.97 s [really-safe-money-gen]
  867. 480.97 s [really-safe-money-gen] Tests:
  868. 480.97 s [really-safe-money-gen]
  869. 480.97 s [really-safe-money-gen] Money.AccountSpec
  870. 480.97 s [really-safe-money-gen] distribute
  871. 480.97 s [really-safe-money-gen] produces valid amounts 44.16 ms
  872. 480.97 s [really-safe-money-gen] passed for all of 10000 inputs.
  873. 480.97 s [really-safe-money-gen] Money.AccountOfSpec
  874. 480.97 s [really-safe-money-gen] USD
  875. 480.97 s [really-safe-money-gen] distribute
  876. 480.97 s [really-safe-money-gen] produces valid amounts 0.33 ms
  877. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  878. 480.97 s [really-safe-money-gen] INR
  879. 480.97 s [really-safe-money-gen] distribute
  880. 480.97 s [really-safe-money-gen] produces valid amounts 0.32 ms
  881. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  882. 480.97 s [really-safe-money-gen] CHF
  883. 480.97 s [really-safe-money-gen] distribute
  884. 480.97 s [really-safe-money-gen] produces valid amounts 0.88 ms
  885. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  886. 480.97 s [really-safe-money-gen] ADA
  887. 480.97 s [really-safe-money-gen] distribute
  888. 480.97 s [really-safe-money-gen] produces valid amounts 0.34 ms
  889. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  890. 480.97 s [really-safe-money-gen] BTC
  891. 480.97 s [really-safe-money-gen] distribute
  892. 480.97 s [really-safe-money-gen] produces valid amounts 0.30 ms
  893. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  894. 480.97 s [really-safe-money-gen] Money.AmountOfSpec
  895. 480.97 s [really-safe-money-gen] USD
  896. 480.97 s [really-safe-money-gen] distribute
  897. 480.97 s [really-safe-money-gen] produces valid amounts 0.33 ms
  898. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  899. 480.97 s [really-safe-money-gen] ADA
  900. 480.97 s [really-safe-money-gen] distribute
  901. 480.97 s [really-safe-money-gen] produces valid amounts 0.26 ms
  902. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  903. 480.97 s [really-safe-money-gen] INR
  904. 480.97 s [really-safe-money-gen] distribute
  905. 480.97 s [really-safe-money-gen] produces valid amounts 0.27 ms
  906. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  907. 480.97 s [really-safe-money-gen] BTC
  908. 480.97 s [really-safe-money-gen] distribute
  909. 480.97 s [really-safe-money-gen] produces valid amounts 0.92 ms
  910. 480.97 s [really-safe-money-gen] passed for all of 100 inputs.
  911. 480.97 s [really-safe-money-gen] CHF
  912. 480.98 s [really-safe-money-gen] distribute
  913. 480.98 s [really-safe-money-gen] produces valid amounts 0.47 ms
  914. 480.98 s [really-safe-money-gen] passed for all of 100 inputs.
  915. 480.98 s [really-safe-money-gen] Money.AmountSpec
  916. 480.98 s [really-safe-money-gen] distribute
  917. 480.98 s [really-safe-money-gen] GenValid (Distribution Amount)
  918. 480.98 s [really-safe-money-gen] genValid :: Gen (Distribution Amount)
  919. 480.98 s [really-safe-money-gen] only generates valid '(Distribution Amount)'s 30.43 ms
  920. 480.98 s [really-safe-money-gen] passed for all of 10000 inputs.
  921. 480.98 s [really-safe-money-gen] produces valid amounts 35.75 ms
  922. 480.98 s [really-safe-money-gen] passed for all of 10000 inputs.
  923. 480.98 s [really-safe-money-gen]
  924. 480.98 s [really-safe-money-gen]
  925. 480.98 s [really-safe-money-gen]
  926. 480.98 s [really-safe-money-gen] Examples: 31000
  927. 480.98 s [really-safe-money-gen] Passed: 13
  928. 480.98 s [really-safe-money-gen] Failed: 0
  929. 480.98 s [really-safe-money-gen] Sum of test runtimes: 0.11 seconds
  930. 480.98 s [really-safe-money-gen] Test suite took: 0.12 seconds
  931. 480.98 s [really-safe-money-gen]
  932. 480.98 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
  933. 480.98 s [really-safe-money-gen] @@ -600,7 +600,7 @@
  934. 480.98 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  935. 480.98 s [really-safe-money-gen] validate ad =
  936. 480.98 s [really-safe-money-gen] mconcat
  937. 480.98 s [really-safe-money-gen] - [ genericValidate ad,
  938. 480.98 s [really-safe-money-gen] + [ genericValidate ad,
  939. 480.98 s [really-safe-money-gen] case ad of
  940. 480.98 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  941. 480.98 s [really-safe-money-gen] declare "The larger chunks are larger" $
  942. 480.98 s [really-safe-money-gen] Tests:
  943. 480.98 s [really-safe-money-gen]
  944. 480.98 s [really-safe-money-gen] Money.AccountSpec
  945. 480.98 s [really-safe-money-gen] distribute
  946. 480.98 s [really-safe-money-gen] produces valid amounts 19.56 ms
  947. 480.98 s [really-safe-money-gen] passed for all of 10000 inputs.
  948. 480.98 s [really-safe-money-gen] Money.AccountOfSpec
  949. 480.98 s [really-safe-money-gen] USD
  950. 480.98 s [really-safe-money-gen] distribute
  951. 480.98 s [really-safe-money-gen] produces valid amounts 0.12 ms
  952. 480.98 s [really-safe-money-gen] passed for all of 100 inputs.
  953. 480.98 s [really-safe-money-gen] INR
  954. 480.98 s [really-safe-money-gen] distribute
  955. 480.98 s [really-safe-money-gen] produces valid amounts 0.17 ms
  956. 480.98 s [really-safe-money-gen] passed for all of 100 inputs.
  957. 480.98 s [really-safe-money-gen] CHF
  958. 480.98 s [really-safe-money-gen] distribute
  959. 480.98 s [really-safe-money-gen] produces valid amounts 0.19 ms
  960. 480.98 s [really-safe-money-gen] passed for all of 100 inputs.
  961. 480.98 s [really-safe-money-gen] ADA
  962. 480.98 s [really-safe-money-gen] distribute
  963. 480.98 s [really-safe-money-gen] produces valid amounts 0.14 ms
  964. 480.98 s [really-safe-money-gen] passed for all of 100 inputs.
  965. 480.98 s [really-safe-money-gen] BTC
  966. 480.98 s [really-safe-money-gen] distribute
  967. 480.98 s [really-safe-money-gen] produces valid amounts 0.57 ms
  968. 480.98 s [really-safe-money-gen] passed for all of 100 inputs.
  969. 480.98 s [really-safe-money-gen] Money.AmountOfSpec
  970. 480.98 s [really-safe-money-gen] USD
  971. 480.98 s [really-safe-money-gen] distribute
  972. 480.98 s [really-safe-money-gen] produces valid amounts 0.16 ms
  973. 480.98 s [really-safe-money-gen] passed for all of 100 inputs.
  974. 480.98 s [really-safe-money-gen] ADA
  975. 480.98 s [really-safe-money-gen] distribute
  976. 480.98 s [really-safe-money-gen] produces valid amounts Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
  977. 480.98 s [really-safe-money-gen] @@ -600,7 +600,7 @@
  978. 480.98 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  979. 480.98 s [really-safe-money-gen] validate ad =
  980. 480.98 s [really-safe-money-gen] mconcat
  981. 480.98 s [really-safe-money-gen] - [ genericValidate ad,
  982. 480.98 s [really-safe-money-gen] + [ genericValidate ad,
  983. 480.98 s [really-safe-money-gen] case ad of
  984. 480.98 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  985. 480.98 s [really-safe-money-gen] declare "The larger chunks are larger" $
  986. 480.98 s [really-safe-money-gen]
  987. 481.12 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28:
  988. 481.12 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  989. 481.12 s [really-safe-money-gen] fromDecimalLiteral dl = do
  990. 481.12 s [really-safe-money-gen] irat <-
  991. 481.12 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  992. 481.12 s [really-safe-money-gen] - in if numerator r == 0
  993. 481.12 s [really-safe-money-gen] + in if numerator r == 1
  994. 481.12 s [really-safe-money-gen] then Nothing
  995. 481.12 s [really-safe-money-gen] else pure r
  996. 481.12 s [really-safe-money-gen]
  997. 481.12 s [really-safe-money-gen]
  998. 481.27 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28:
  999. 481.27 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  1000. 481.37 s [really-safe-money-gen] fromDecimalLiteral dl = do
  1001. 481.37 s [really-safe-money-gen] irat <-
  1002. 481.37 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  1003. 481.37 s [really-safe-money-gen] - in if numerator r == 0
  1004. 481.37 s [really-safe-money-gen] + in if True
  1005. 481.37 s [really-safe-money-gen] then Nothing
  1006. 481.37 s [really-safe-money-gen] else pure r
  1007. 481.37 s [really-safe-money-gen]
  1008. 481.37 s [really-safe-money-gen]
  1009. 481.61 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28:
  1010. 481.61 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  1011. 481.61 s [really-safe-money-gen] fromDecimalLiteral dl = do
  1012. 481.61 s [really-safe-money-gen] irat <-
  1013. 481.61 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  1014. 481.61 s [really-safe-money-gen] - in if numerator r == 0
  1015. 481.61 s [really-safe-money-gen] + in if False
  1016. 481.61 s [really-safe-money-gen] then Nothing
  1017. 481.61 s [really-safe-money-gen] else pure r
  1018. 481.61 s [really-safe-money-gen]
  1019. 481.61 s [really-safe-money-gen]
  1020. 481.97 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:87:12-28:
  1021. 481.97 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  1022. 481.97 s [really-safe-money-gen] fromDecimalLiteral dl = do
  1023. 481.97 s [really-safe-money-gen] irat <-
  1024. 481.97 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  1025. 481.97 s [really-safe-money-gen] - in if numerator r == 0
  1026. 481.97 s [really-safe-money-gen] + in if not (numerator r == 0)
  1027. 481.97 s [really-safe-money-gen] then Nothing
  1028. 481.97 s [really-safe-money-gen] else pure r
  1029. 481.97 s [really-safe-money-gen]
  1030. 481.97 s [really-safe-money-gen]
  1031. 482.11 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:87:9-22:
  1032. 482.11 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  1033. 482.11 s [really-safe-money-gen] fromDecimalLiteral dl = do
  1034. 482.11 s [really-safe-money-gen] irat <-
  1035. 482.11 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  1036. 482.11 s [really-safe-money-gen] - in if numerator r == 0
  1037. 482.11 s [really-safe-money-gen] + in if numerator r == 0
  1038. 482.11 s [really-safe-money-gen] then Nothing
  1039. 482.11 s [really-safe-money-gen] else pure r
  1040. 482.11 s [really-safe-money-gen]
  1041. 482.11 s [really-safe-money-gen]
  1042. 482.25 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14:
  1043. 482.25 s [really-safe-money-gen] @@ -89,7 +89,7 @@
  1044. 482.25 s [really-safe-money-gen] else pure r
  1045. 482.25 s [really-safe-money-gen]
  1046. 482.25 s [really-safe-money-gen] rat <-
  1047. 482.25 s [really-safe-money-gen] - let r = 1 / irat
  1048. 482.25 s [really-safe-money-gen] + let r = 0 / irat
  1049. 482.25 s [really-safe-money-gen] in if r < 0
  1050. 482.25 s [really-safe-money-gen] then Nothing
  1051. 482.25 s [really-safe-money-gen] else Just r
  1052. 482.25 s [really-safe-money-gen]
  1053. 482.34 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14:
  1054. 482.34 s [really-safe-money-gen] @@ -89,7 +89,7 @@
  1055. 482.34 s [really-safe-money-gen] else pure r
  1056. 482.34 s [really-safe-money-gen]
  1057. 482.34 s [really-safe-money-gen] rat <-
  1058. 482.34 s [really-safe-money-gen] - let r = 1 / irat
  1059. 482.34 s [really-safe-money-gen] + let r = -1 / irat
  1060. 482.34 s [really-safe-money-gen] in if r < 0
  1061. 482.34 s [really-safe-money-gen] then Nothing
  1062. 482.34 s [really-safe-money-gen] else Just r
  1063. 482.34 s [really-safe-money-gen]
  1064. 482.43 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17:
  1065. 482.43 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  1066. 482.43 s [really-safe-money-gen]
  1067. 482.43 s [really-safe-money-gen] rat <-
  1068. 482.43 s [really-safe-money-gen] let r = 1 / irat
  1069. 482.43 s [really-safe-money-gen] - in if r < 0
  1070. 482.43 s [really-safe-money-gen] + in if r < 1
  1071. 482.43 s [really-safe-money-gen] then Nothing
  1072. 482.43 s [really-safe-money-gen] else Just r
  1073. 482.43 s [really-safe-money-gen]
  1074. 482.43 s [really-safe-money-gen]
  1075. 482.57 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17:
  1076. 482.57 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  1077. 482.57 s [really-safe-money-gen]
  1078. 482.57 s [really-safe-money-gen] rat <-
  1079. 482.57 s [really-safe-money-gen] let r = 1 / irat
  1080. 482.57 s [really-safe-money-gen] - in if r < 0
  1081. 482.57 s [really-safe-money-gen] + in if True
  1082. 482.57 s [really-safe-money-gen] then Nothing
  1083. 482.57 s [really-safe-money-gen] else Just r
  1084. 482.57 s [really-safe-money-gen]
  1085. 482.57 s [really-safe-money-gen]
  1086. 482.98 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17:
  1087. 482.98 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  1088. 482.98 s [really-safe-money-gen]
  1089. 482.98 s [really-safe-money-gen] rat <-
  1090. 482.98 s [really-safe-money-gen] let r = 1 / irat
  1091. 482.98 s [really-safe-money-gen] - in if r < 0
  1092. 482.98 s [really-safe-money-gen] + in if False
  1093. 482.98 s [really-safe-money-gen] then Nothing
  1094. 482.98 s [really-safe-money-gen] else Just r
  1095. 482.98 s [really-safe-money-gen]
  1096. 482.98 s [really-safe-money-gen]
  1097. 483.39 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:93:12-17:
  1098. 483.39 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  1099. 483.39 s [really-safe-money-gen]
  1100. 483.39 s [really-safe-money-gen] rat <-
  1101. 483.39 s [really-safe-money-gen] let r = 1 / irat
  1102. 483.39 s [really-safe-money-gen] - in if r < 0
  1103. 483.39 s [really-safe-money-gen] + in if not (r < 0)
  1104. 483.39 s [really-safe-money-gen] then Nothing
  1105. 483.39 s [really-safe-money-gen] else Just r
  1106. 483.39 s [really-safe-money-gen]
  1107. 483.39 s [really-safe-money-gen]
  1108. 483.54 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:93:9-22:
  1109. 483.54 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  1110. 483.54 s [really-safe-money-gen]
  1111. 483.54 s [really-safe-money-gen] rat <-
  1112. 483.54 s [really-safe-money-gen] let r = 1 / irat
  1113. 483.54 s [really-safe-money-gen] - in if r < 0
  1114. 483.54 s [really-safe-money-gen] + in if r < 0
  1115. 483.54 s [really-safe-money-gen] then Nothing
  1116. 483.54 s [really-safe-money-gen] else Just r
  1117. 483.54 s [really-safe-money-gen]
  1118. 483.54 s [really-safe-money-gen]
  1119. 483.69 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
  1120. 483.69 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  1121. 483.69 s [really-safe-money-gen] else Just r
  1122. 483.69 s [really-safe-money-gen]
  1123. 483.69 s [really-safe-money-gen] fac <-
  1124. 483.69 s [really-safe-money-gen] - if denominator rat == 1
  1125. 483.69 s [really-safe-money-gen] + if denominator rat == 0
  1126. 483.69 s [really-safe-money-gen] then Just (numerator rat)
  1127. 483.69 s [really-safe-money-gen] else Nothing
  1128. 483.69 s [really-safe-money-gen]
  1129. 483.69 s [really-safe-money-gen]
  1130. 483.84 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
  1131. 483.84 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  1132. 483.84 s [really-safe-money-gen] else Just r
  1133. 483.84 s [really-safe-money-gen]
  1134. 483.84 s [really-safe-money-gen] fac <-
  1135. 483.84 s [really-safe-money-gen] - if denominator rat == 1
  1136. 483.84 s [really-safe-money-gen] + if denominator rat == -1
  1137. 483.84 s [really-safe-money-gen] then Just (numerator rat)
  1138. 483.84 s [really-safe-money-gen] else Nothing
  1139. 483.84 s [really-safe-money-gen]
  1140. 483.84 s [really-safe-money-gen]
  1141. 483.99 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28:
  1142. 483.99 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  1143. 483.99 s [really-safe-money-gen] else Just r
  1144. 483.99 s [really-safe-money-gen]
  1145. 483.99 s [really-safe-money-gen] fac <-
  1146. 483.99 s [really-safe-money-gen] - if denominator rat == 1
  1147. 483.99 s [really-safe-money-gen] + if True
  1148. 483.99 s [really-safe-money-gen] then Just (numerator rat)
  1149. 483.99 s [really-safe-money-gen] else Nothing
  1150. 483.99 s [really-safe-money-gen]
  1151. 483.99 s [really-safe-money-gen]
  1152. 484.09 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28:
  1153. 484.09 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  1154. 484.09 s [really-safe-money-gen] else Just r
  1155. 484.09 s [really-safe-money-gen]
  1156. 484.09 s [really-safe-money-gen] fac <-
  1157. 484.09 s [really-safe-money-gen] - if denominator rat == 1
  1158. 484.09 s [really-safe-money-gen] + if False
  1159. 484.09 s [really-safe-money-gen] then Just (numerator rat)
  1160. 484.09 s [really-safe-money-gen] else Nothing
  1161. 484.09 s [really-safe-money-gen]
  1162. 484.09 s [really-safe-money-gen]
  1163. 484.18 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:98:8-28:
  1164. 484.18 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  1165. 484.18 s [really-safe-money-gen] else Just r
  1166. 484.18 s [really-safe-money-gen]
  1167. 484.18 s [really-safe-money-gen] fac <-
  1168. 484.18 s [really-safe-money-gen] - if denominator rat == 1
  1169. 484.18 s [really-safe-money-gen] + if not (denominator rat == 1)
  1170. 484.18 s [really-safe-money-gen] then Just (numerator rat)
  1171. 484.18 s [really-safe-money-gen] else Nothing
  1172. 484.18 s [really-safe-money-gen]
  1173. 484.18 s [really-safe-money-gen]
  1174. 484.28 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:98:5-19:
  1175. 484.28 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  1176. 484.28 s [really-safe-money-gen] else Just r
  1177. 484.28 s [really-safe-money-gen]
  1178. 484.28 s [really-safe-money-gen] fac <-
  1179. 484.28 s [really-safe-money-gen] - if denominator rat == 1
  1180. 484.28 s [really-safe-money-gen] + if denominator rat == 1
  1181. 484.28 s [really-safe-money-gen] then Just (numerator rat)
  1182. 484.28 s [really-safe-money-gen] else Nothing
  1183. 484.28 s [really-safe-money-gen]
  1184. 484.28 s [really-safe-money-gen]
  1185. 484.38 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46:
  1186. 484.38 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  1187. 484.38 s [really-safe-money-gen] then Just (numerator rat)
  1188. 484.38 s [really-safe-money-gen] else Nothing
  1189. 484.38 s [really-safe-money-gen]
  1190. 484.38 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  1191. 484.38 s [really-safe-money-gen] + if True
  1192. 484.38 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  1193. 484.38 s [really-safe-money-gen] else Nothing
  1194. 484.38 s [really-safe-money-gen]
  1195. 484.48 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46:
  1196. 484.48 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  1197. 484.48 s [really-safe-money-gen] then Just (numerator rat)
  1198. 484.48 s [really-safe-money-gen] else Nothing
  1199. 484.48 s [really-safe-money-gen]
  1200. 484.48 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  1201. 484.48 s [really-safe-money-gen] + if False
  1202. 484.48 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  1203. 484.48 s [really-safe-money-gen] else Nothing
  1204. 484.48 s [really-safe-money-gen]
  1205. 484.58 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:102:6-46:
  1206. 484.58 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  1207. 484.58 s [really-safe-money-gen] then Just (numerator rat)
  1208. 484.58 s [really-safe-money-gen] else Nothing
  1209. 484.58 s [really-safe-money-gen]
  1210. 484.58 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  1211. 484.58 s [really-safe-money-gen] + if not (fac <= fromIntegral (maxBound :: Word32))
  1212. 484.58 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  1213. 484.59 s [really-safe-money-gen] else Nothing
  1214. 484.59 s [really-safe-money-gen]
  1215. 484.68 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68:
  1216. 484.68 s [really-safe-money-gen] @@ -64,7 +64,7 @@
  1217. 484.68 s [really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
  1218. 484.68 s [really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
  1219. 484.69 s [really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
  1220. 484.69 s [really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
  1221. 484.69 s [really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (0 % fromIntegral qfw)
  1222. 484.69 s [really-safe-money-gen]
  1223. 484.69 s [really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
  1224. 484.69 s [really-safe-money-gen] -- TODO explain that it's the inverse.
  1225. 484.69 s [really-safe-money-gen]
  1226. 484.77 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68:
  1227. 484.77 s [really-safe-money-gen] @@ -64,7 +64,7 @@
  1228. 484.77 s [really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
  1229. 484.77 s [really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
  1230. 484.77 s [really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
  1231. 484.77 s [really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
  1232. 484.77 s [really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (-1 % fromIntegral qfw)
  1233. 484.77 s [really-safe-money-gen]
  1234. 484.77 s [really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
  1235. 484.77 s [really-safe-money-gen] -- TODO explain that it's the inverse.
  1236. 484.77 s [really-safe-money-gen]
  1237. 484.87 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63:
  1238. 484.87 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  1239. 484.87 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1240. 484.87 s [really-safe-money-gen] mconcat
  1241. 484.87 s [really-safe-money-gen] [ genericValidate qf,
  1242. 484.87 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  1243. 484.87 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 1
  1244. 484.87 s [really-safe-money-gen] ]
  1245. 484.87 s [really-safe-money-gen]
  1246. 484.87 s [really-safe-money-gen] instance NFData QuantisationFactor
  1247. 484.87 s [really-safe-money-gen]
  1248. 484.96 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
  1249. 484.96 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  1250. 484.96 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1251. 484.96 s [really-safe-money-gen] mconcat
  1252. 484.96 s [really-safe-money-gen] [ genericValidate qf,
  1253. 484.96 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  1254. 484.96 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
  1255. 484.96 s [really-safe-money-gen] ]
  1256. 484.96 s [really-safe-money-gen]
  1257. 484.96 s [really-safe-money-gen] instance NFData QuantisationFactor
  1258. 484.96 s [really-safe-money-gen]
  1259. 486.03 s [really-safe-money-gen] 0.11 ms
  1260. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1261. 486.03 s [really-safe-money-gen] INR
  1262. 486.03 s [really-safe-money-gen] distribute
  1263. 486.03 s [really-safe-money-gen] produces valid amounts 0.11 ms
  1264. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1265. 486.03 s [really-safe-money-gen] BTC
  1266. 486.03 s [really-safe-money-gen] distribute
  1267. 486.03 s [really-safe-money-gen] produces valid amounts 0.11 ms
  1268. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1269. 486.03 s [really-safe-money-gen] CHF
  1270. 486.03 s [really-safe-money-gen] distribute
  1271. 486.03 s [really-safe-money-gen] produces valid amounts 0.12 ms
  1272. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1273. 486.03 s [really-safe-money-gen] Money.AmountSpec
  1274. 486.03 s [really-safe-money-gen] distribute
  1275. 486.03 s [really-safe-money-gen] GenValid (Distribution Amount)
  1276. 486.03 s [really-safe-money-gen] genValid :: Gen (Distribution Amount)
  1277. 486.03 s [really-safe-money-gen] only generates valid '(Distribution Amount)'s 18.96 ms
  1278. 486.03 s [really-safe-money-gen] passed for all of 10000 inputs.
  1279. 486.03 s [really-safe-money-gen] produces valid amounts 18.80 ms
  1280. 486.03 s [really-safe-money-gen] passed for all of 10000 inputs.
  1281. 486.03 s [really-safe-money-gen]
  1282. 486.03 s [really-safe-money-gen]
  1283. 486.03 s [really-safe-money-gen]
  1284. 486.03 s [really-safe-money-gen] Examples: 31000
  1285. 486.03 s [really-safe-money-gen] Passed: 13
  1286. 486.03 s [really-safe-money-gen] Failed: 0
  1287. 486.03 s [really-safe-money-gen] Sum of test runtimes: 0.06 seconds
  1288. 486.03 s [really-safe-money-gen] Test suite took: 0.06 seconds
  1289. 486.03 s [really-safe-money-gen]
  1290. 486.03 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
  1291. 486.03 s [really-safe-money-gen] @@ -600,7 +600,7 @@
  1292. 486.03 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  1293. 486.03 s [really-safe-money-gen] validate ad =
  1294. 486.03 s [really-safe-money-gen] mconcat
  1295. 486.03 s [really-safe-money-gen] - [ genericValidate ad,
  1296. 486.03 s [really-safe-money-gen] + [ genericValidate ad,
  1297. 486.03 s [really-safe-money-gen] case ad of
  1298. 486.03 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  1299. 486.03 s [really-safe-money-gen] declare "The larger chunks are larger" $
  1300. 486.03 s [really-safe-money-gen] Tests:
  1301. 486.03 s [really-safe-money-gen]
  1302. 486.03 s [really-safe-money-gen] Money.AccountSpec
  1303. 486.03 s [really-safe-money-gen] distribute
  1304. 486.03 s [really-safe-money-gen] produces valid amounts 18.56 ms
  1305. 486.03 s [really-safe-money-gen] passed for all of 10000 inputs.
  1306. 486.03 s [really-safe-money-gen] Money.AccountOfSpec
  1307. 486.03 s [really-safe-money-gen] USD
  1308. 486.03 s [really-safe-money-gen] distribute
  1309. 486.03 s [really-safe-money-gen] produces valid amounts 0.22 ms
  1310. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1311. 486.03 s [really-safe-money-gen] INR
  1312. 486.03 s [really-safe-money-gen] distribute
  1313. 486.03 s [really-safe-money-gen] produces valid amounts 0.20 ms
  1314. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1315. 486.03 s [really-safe-money-gen] CHF
  1316. 486.03 s [really-safe-money-gen] distribute
  1317. 486.03 s [really-safe-money-gen] produces valid amounts 0.19 ms
  1318. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1319. 486.03 s [really-safe-money-gen] ADA
  1320. 486.03 s [really-safe-money-gen] distribute
  1321. 486.03 s [really-safe-money-gen] produces valid amounts 0.19 ms
  1322. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1323. 486.03 s [really-safe-money-gen] BTC
  1324. 486.03 s [really-safe-money-gen] distribute
  1325. 486.03 s [really-safe-money-gen] produces valid amounts 0.51 ms
  1326. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1327. 486.03 s [really-safe-money-gen] Money.AmountOfSpec
  1328. 486.03 s [really-safe-money-gen] USD
  1329. 486.03 s [really-safe-money-gen] distribute
  1330. 486.03 s [really-safe-money-gen] produces valid amounts 0.20 ms
  1331. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1332. 486.03 s [really-safe-money-gen] ADA
  1333. 486.03 s [really-safe-money-gen] distribute
  1334. 486.03 s [really-safe-money-gen] produces valid amounts 0.14 ms
  1335. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1336. 486.03 s [really-safe-money-gen] INR
  1337. 486.03 s [really-safe-money-gen] distribute
  1338. 486.03 s [really-safe-money-gen] produces valid amounts 0.16 ms
  1339. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1340. 486.03 s [really-safe-money-gen] BTC
  1341. 486.03 s [really-safe-money-gen] distribute
  1342. 486.03 s [really-safe-money-gen] produces valid amounts 0.22 ms
  1343. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1344. 486.03 s [really-safe-money-gen] CHF
  1345. 486.03 s [really-safe-money-gen] distribute
  1346. 486.03 s [really-safe-money-gen] produces valid amounts 0.18 ms
  1347. 486.03 s [really-safe-money-gen] passed for all of 100 inputs.
  1348. 486.03 s [really-safe-money-gen] Money.AmountSpec
  1349. 486.03 s [really-safe-money-gen] distribute
  1350. 486.03 s [really-safe-money-gen] GenValid (Distribution Amount)
  1351. 486.03 s [really-safe-money-gen] genValid :: Gen (Distribution Amount)
  1352. 486.03 s [really-safe-money-gen] only generates valid '(Distribution Amount)'s 18.70 ms
  1353. 486.03 s [really-safe-money-gen] passed for all of 10000 inputs.
  1354. 486.03 s [really-safe-money-gen] produces valid amounts 18.81 ms
  1355. 486.03 s [really-safe-money-gen] passed for all of 10000 inputs.
  1356. 486.03 s [really-safe-money-gen]
  1357. 486.03 s [really-safe-money-gen]
  1358. 486.03 s [really-safe-money-gen]
  1359. 486.03 s [really-safe-money-gen] Examples: 31000
  1360. 486.03 s [really-safe-money-gen] Passed: 13
  1361. 486.03 s [really-safe-money-gen] Failed: 0
  1362. 486.03 s [really-safe-money-gen] Sum of test runtimes: 0.06 seconds
  1363. 486.03 s [really-safe-money-gen] Test suite took: 0.06 seconds
  1364. 486.03 s [really-safe-money-gen]
  1365. 486.03 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28:
  1366. 486.03 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  1367. 486.03 s [really-safe-money-gen] fromDecimalLiteral dl = do
  1368. 486.03 s [really-safe-money-gen] irat <-
  1369. 486.03 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  1370. 486.03 s [really-safe-money-gen] - in if numerator r == 0
  1371. 486.03 s [really-safe-money-gen] + in if numerator r == 1
  1372. 486.03 s [really-safe-money-gen] then Nothing
  1373. 486.03 s [really-safe-money-gen] else pure r
  1374. 486.03 s [really-safe-money-gen]
  1375. 486.03 s [really-safe-money-gen] Tests:
  1376. 486.03 s [really-safe-money-gen]
  1377. 486.03 s [really-safe-money-gen] Money.QuantisationFactorSpec
  1378. 486.03 s [really-safe-money-gen] DecimalLiteral
  1379. 486.03 s [really-safe-money-gen] fromDecimalLiteral
  1380. 486.03 s [really-safe-money-gen] fails to render a non-1 integer 60.55 ms
  1381. 486.03 s [really-safe-money-gen] passed for all of 10000 inputs.
  1382. 486.03 s [really-safe-money-gen]
  1383. 486.03 s [really-safe-money-gen]
  1384. 486.03 s [really-safe-money-gen]
  1385. 486.03 s [really-safe-money-gen] Examples: 10000
  1386. 486.03 s [really-safe-money-gen] Passed: 1
  1387. 486.03 s [really-safe-money-gen] Failed: 0
  1388. 486.03 s [really-safe-money-gen] Sum of test runtimes: 0.06 seconds
  1389. 486.03 s [really-safe-money-gen] Test suite took: 0.06 seconds
  1390. 486.03 s [really-safe-money-gen]
  1391. 486.03 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17:
  1392. 486.03 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  1393. 486.03 s [really-safe-money-gen]
  1394. 486.03 s [really-safe-money-gen] rat <-
  1395. 486.03 s [really-safe-money-gen] let r = 1 / irat
  1396. 486.03 s [really-safe-money-gen] - in if r < 0
  1397. 486.03 s [really-safe-money-gen] + in if r < 1
  1398. 486.03 s [really-safe-money-gen] then Nothing
  1399. 486.03 s [really-safe-money-gen] else Just r
  1400. 486.03 s [really-safe-money-gen]
  1401. 486.03 s [really-safe-money-gen] Tests:
  1402. 486.03 s [really-safe-money-gen]
  1403. 486.03 s [really-safe-money-gen] Money.QuantisationFactorSpec
  1404. 486.03 s [really-safe-money-gen] DecimalLiteral
  1405. 486.03 s [really-safe-money-gen] fromDecimalLiteral
  1406. 486.03 s [really-safe-money-gen] fails to render a non-1 integer 51.07 ms
  1407. 486.03 s [really-safe-money-gen] passed for all of 10000 inputs.
  1408. 486.03 s [really-safe-money-gen]
  1409. 486.03 s [really-safe-money-gen]
  1410. 486.03 s [really-safe-money-gen]
  1411. 486.03 s [really-safe-money-gen] Examples: 10000
  1412. 486.03 s [really-safe-money-gen] Passed: 1
  1413. 486.03 s [really-safe-money-gen] Failed: 0
  1414. 486.03 s [really-safe-money-gen] Sum of test runtimes: 0.05 seconds
  1415. 486.03 s [really-safe-money-gen] Test suite took: 0.05 seconds
  1416. 486.03 s [really-safe-money-gen]
  1417. 486.03 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
  1418. 486.03 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  1419. 486.03 s [really-safe-money-gen] else Just r
  1420. 486.03 s [really-safe-money-gen]
  1421. 486.03 s [really-safe-money-gen] fac <-
  1422. 486.03 s [really-safe-money-gen] - if denominator rat == 1
  1423. 486.03 s [really-safe-money-gen] + if denominator rat == 0
  1424. 486.03 s [really-safe-money-gen] then Just (numerator rat)
  1425. 486.03 s [really-safe-money-gen] else Nothing
  1426. 486.03 s [really-safe-money-gen]
  1427. 486.03 s [really-safe-money-gen] Tests:
  1428. 486.03 s [really-safe-money-gen]
  1429. 486.03 s [really-safe-money-gen] Money.QuantisationFactorSpec
  1430. 486.03 s [really-safe-money-gen] DecimalLiteral
  1431. 486.03 s [really-safe-money-gen] fromDecimalLiteral
  1432. 486.03 s [really-safe-money-gen] fails to render a non-1 integer 60.98 ms
  1433. 486.03 s [really-safe-money-gen] passed for all of 10000 inputs.
  1434. 486.03 s [really-safe-money-gen]
  1435. 486.03 s [really-safe-money-gen]
  1436. 486.03 s [really-safe-money-gen]
  1437. 486.03 s [really-safe-money-gen] Examples: 10000
  1438. 486.04 s [really-safe-money-gen] Passed: 1
  1439. 486.04 s [really-safe-money-gen] Failed: 0
  1440. 486.04 s [really-safe-money-gen] Sum of test runtimes: 0.06 seconds
  1441. 486.04 s [really-safe-money-gen] Test suite took: 0.06 seconds
  1442. 486.04 s [really-safe-money-gen]
  1443. 486.04 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
  1444. 486.04 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  1445. 486.04 s [really-safe-money-gen] else Just r
  1446. 486.04 s [really-safe-money-gen]
  1447. 486.04 s [really-safe-money-gen] fac <-
  1448. 486.04 s [really-safe-money-gen] - if denominator rat == 1
  1449. 486.04 s [really-safe-money-gen] + if denominator rat == -1
  1450. 486.04 s [really-safe-money-gen] then Just (numerator rat)
  1451. 486.04 s [really-safe-money-gen] else Nothing
  1452. 486.04 s [really-safe-money-gen]
  1453. 486.04 s [really-safe-money-gen] Tests:
  1454. 486.04 s [really-safe-money-gen]
  1455. 486.04 s [really-safe-money-gen] Money.QuantisationFactorSpec
  1456. 486.04 s [really-safe-money-gen] DecimalLiteral
  1457. 486.04 s [really-safe-money-gen] fromDecimalLiteral
  1458. 486.04 s [really-safe-money-gen] fails to render a non-1 integer 59.23 ms
  1459. 486.04 s [really-safe-money-gen] passed for all of 10000 inputs.
  1460. 486.04 s [really-safe-money-gen]
  1461. 486.04 s [really-safe-money-gen]
  1462. 486.04 s [really-safe-money-gen]
  1463. 486.04 s [really-safe-money-gen] Examples: 10000
  1464. 486.04 s [really-safe-money-gen] Passed: 1
  1465. 486.04 s [really-safe-money-gen] Failed: 0
  1466. 486.04 s [really-safe-money-gen] Sum of test runtimes: 0.06 seconds
  1467. 486.04 s [really-safe-money-gen] Test suite took: 0.06 seconds
  1468. 486.04 s [really-safe-money-gen]
  1469. 486.04 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
  1470. 486.04 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  1471. 486.04 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1472. 486.04 s [really-safe-money-gen] mconcat
  1473. 486.04 s [really-safe-money-gen] [ genericValidate qf,
  1474. 486.04 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  1475. 486.04 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
  1476. 486.04 s [really-safe-money-gen] ]
  1477. 486.04 s [really-safe-money-gen]
  1478. 486.04 s [really-safe-money-gen] instance NFData QuantisationFactor
  1479. 486.04 s [really-safe-money-gen] Tests:
  1480. 486.04 s [really-safe-money-gen]
  1481. 486.04 s [really-safe-money-gen] Money.MultiAmountSpec
  1482. 486.04 s [really-safe-money-gen] fromAmount
  1483. 486.04 s [really-safe-money-gen] produces valid amounts 6.62 ms
  1484. 486.04 s [really-safe-money-gen] passed for all of 1000 inputs.
  1485. 486.04 s [really-safe-money-gen] sum
  1486. 486.04 s [really-safe-money-gen] ✓ Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
  1487. 486.04 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  1488. 486.04 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1489. 486.04 s [really-safe-money-gen] mconcat
  1490. 486.04 s [really-safe-money-gen] [ genericValidate qf,
  1491. 486.04 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  1492. 486.04 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
  1493. 486.04 s [really-safe-money-gen] ]
  1494. 486.04 s [really-safe-money-gen]
  1495. 486.04 s [really-safe-money-gen] instance NFData QuantisationFactor
  1496. 486.04 s [really-safe-money-gen]
  1497. 487.13 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:40:57-63:
  1498. 487.23 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  1499. 487.23 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1500. 487.23 s [really-safe-money-gen] mconcat
  1501. 487.23 s [really-safe-money-gen] [ genericValidate qf,
  1502. 487.23 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  1503. 487.23 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ not (w /= 0)
  1504. 487.23 s [really-safe-money-gen] ]
  1505. 487.23 s [really-safe-money-gen]
  1506. 487.23 s [really-safe-money-gen] instance NFData QuantisationFactor
  1507. 487.23 s [really-safe-money-gen]
  1508. 487.23 s [really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
  1509. 487.23 s [really-safe-money-gen] @@ -36,7 +36,7 @@
  1510. 487.23 s [really-safe-money-gen] instance Validity QuantisationFactor where
  1511. 487.23 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1512. 487.23 s [really-safe-money-gen] mconcat
  1513. 487.23 s [really-safe-money-gen] - [ genericValidate qf,
  1514. 487.23 s [really-safe-money-gen] + [ genericValidate qf,
  1515. 487.23 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  1516. 487.23 s [really-safe-money-gen] ]
  1517. 487.23 s [really-safe-money-gen]
  1518. 487.23 s [really-safe-money-gen]
  1519. 488.16 s [really-safe-money-gen] produces valid amounts 102.48 ms
  1520. 488.16 s [really-safe-money-gen] passed for all of 1000 inputs.
  1521. 488.16 s [really-safe-money-gen] add
  1522. 488.16 s [really-safe-money-gen] produces valid amounts 70.57 ms
  1523. 488.16 s [really-safe-money-gen] passed for all of 1000 inputs.
  1524. 488.16 s [really-safe-money-gen] addAmount
  1525. 488.16 s [really-safe-money-gen] produces valid amounts 41.61 ms
  1526. 488.16 s [really-safe-money-gen] passed for all of 1000 inputs.
  1527. 488.16 s [really-safe-money-gen] subtractAmount
  1528. 488.16 s [really-safe-money-gen] produces valid amounts 14.83 ms
  1529. 488.16 s [really-safe-money-gen] passed for all of 1000 inputs.
  1530. 488.16 s [really-safe-money-gen] GenValid (MultiAmount Currency)
  1531. 488.16 s [really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
  1532. 488.16 s [really-safe-money-gen] only generates valid '(MultiAmount Currency)'s 64.30 ms
  1533. 488.16 s [really-safe-money-gen] passed for all of 1000 inputs.
  1534. 488.16 s [really-safe-money-gen] subtract
  1535. 488.16 s [really-safe-money-gen] produces valid amounts 22.80 ms
  1536. 488.16 s [really-safe-money-gen] passed for all of 1000 inputs.
  1537. 488.16 s [really-safe-money-gen] Money.QuantisationFactorSpec
  1538. 488.16 s [really-safe-money-gen] fromWord32
  1539. 488.16 s [really-safe-money-gen] produces valid quantisation factors 28.46 ms
  1540. 488.16 s [really-safe-money-gen] passed for all of 10000 inputs.
  1541. 488.16 s [really-safe-money-gen] DecimalLiteral
  1542. 488.16 s [really-safe-money-gen] fromDecimalLiteral
  1543. 488.16 s [really-safe-money-gen] produces valid factors 83.17 ms
  1544. 488.17 s [really-safe-money-gen] passed for all of 10000 inputs.
  1545. 488.17 s [really-safe-money-gen] GenValid QuantisationFactor
  1546. 488.17 s [really-safe-money-gen] genValid :: Gen QuantisationFactor
  1547. 488.17 s [really-safe-money-gen] only generates valid 'QuantisationFactor's 29.54 ms
  1548. 488.17 s [really-safe-money-gen] passed for all of 10000 inputs.
  1549. 488.17 s [really-safe-money-gen] Money.MultiAccountSpec
  1550. 488.17 s [really-safe-money-gen] subtractAmount
  1551. 488.17 s [really-safe-money-gen] produces valid amounts 41.66 ms
  1552. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1553. 488.17 s [really-safe-money-gen] add
  1554. 488.17 s [really-safe-money-gen] produces valid amounts 72.49 ms
  1555. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1556. 488.17 s [really-safe-money-gen] GenValid (MultiAccount Currency)
  1557. 488.17 s [really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
  1558. 488.17 s [really-safe-money-gen] only generates valid '(MultiAccount Currency)'s 62.53 ms
  1559. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1560. 488.17 s [really-safe-money-gen] sum
  1561. 488.17 s [really-safe-money-gen] produces valid amounts 105.73 ms
  1562. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1563. 488.17 s [really-safe-money-gen] fromAccount
  1564. 488.17 s [really-safe-money-gen] produces valid amounts 7.37 ms
  1565. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1566. 488.17 s [really-safe-money-gen] addAccount
  1567. 488.17 s [really-safe-money-gen] produces valid amounts 42.43 ms
  1568. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1569. 488.17 s [really-safe-money-gen] subtract
  1570. 488.17 s [really-safe-money-gen] produces valid amounts 79.40 ms
  1571. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1572. 488.17 s [really-safe-money-gen] addAmount
  1573. 488.17 s [really-safe-money-gen] produces valid amounts 46.02 ms
  1574. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1575. 488.17 s [really-safe-money-gen] subtractAccount
  1576. 488.17 s [really-safe-money-gen] produces valid amounts 47.30 ms
  1577. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1578. 488.17 s [really-safe-money-gen]
  1579. 488.17 s [really-safe-money-gen]
  1580. 488.17 s [really-safe-money-gen]
  1581. 488.17 s [really-safe-money-gen] Examples: 46000
  1582. 488.17 s [really-safe-money-gen] Passed: 19
  1583. 488.17 s [really-safe-money-gen] Failed: 0
  1584. 488.17 s [really-safe-money-gen] Sum of test runtimes: 0.97 seconds
  1585. 488.17 s [really-safe-money-gen] Test suite took: 0.97 seconds
  1586. 488.17 s [really-safe-money-gen]
  1587. 488.17 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
  1588. 488.17 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  1589. 488.17 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1590. 488.17 s [really-safe-money-gen] mconcat
  1591. 488.17 s [really-safe-money-gen] [ genericValidate qf,
  1592. 488.17 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  1593. 488.17 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
  1594. 488.17 s [really-safe-money-gen] ]
  1595. 488.17 s [really-safe-money-gen]
  1596. 488.17 s [really-safe-money-gen] instance NFData QuantisationFactor
  1597. 488.17 s [really-safe-money-gen] Tests:
  1598. 488.17 s [really-safe-money-gen]
  1599. 488.17 s [really-safe-money-gen] Money.MultiAmountSpec
  1600. 488.17 s [really-safe-money-gen] fromAmount
  1601. 488.17 s [really-safe-money-gen] produces valid amounts 7.62 ms
  1602. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1603. 488.17 s [really-safe-money-gen] sum
  1604. 488.17 s [really-safe-money-gen] produces valid amounts 120.48 ms
  1605. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1606. 488.17 s [really-safe-money-gen] add
  1607. 488.17 s [really-safe-money-gen] produces valid amounts 81.36 ms
  1608. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1609. 488.17 s [really-safe-money-gen] addAmount
  1610. 488.17 s [really-safe-money-gen] produces valid amounts 41.75 ms
  1611. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1612. 488.17 s [really-safe-money-gen] subtractAmount
  1613. 488.17 s [really-safe-money-gen] produces valid amounts 13.97 ms
  1614. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1615. 488.17 s [really-safe-money-gen] GenValid (MultiAmount Currency)
  1616. 488.17 s [really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
  1617. 488.17 s [really-safe-money-gen] only generates valid '(MultiAmount Currency)'s 61.63 ms
  1618. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1619. 488.17 s [really-safe-money-gen] subtract
  1620. 488.17 s [really-safe-money-gen] produces valid amounts 22.05 ms
  1621. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1622. 488.17 s [really-safe-money-gen] Money.QuantisationFactorSpec
  1623. 488.17 s [really-safe-money-gen] fromWord32
  1624. 488.17 s [really-safe-money-gen] produces valid quantisation factors 26.55 ms
  1625. 488.17 s [really-safe-money-gen] passed for all of 10000 inputs.
  1626. 488.17 s [really-safe-money-gen] DecimalLiteral
  1627. 488.17 s [really-safe-money-gen] fromDecimalLiteral
  1628. 488.17 s [really-safe-money-gen] produces valid factors 84.42 ms
  1629. 488.17 s [really-safe-money-gen] passed for all of 10000 inputs.
  1630. 488.17 s [really-safe-money-gen] GenValid QuantisationFactor
  1631. 488.17 s [really-safe-money-gen] genValid :: Gen QuantisationFactor
  1632. 488.17 s [really-safe-money-gen] only generates valid 'QuantisationFactor's 30.70 ms
  1633. 488.17 s [really-safe-money-gen] passed for all of 10000 inputs.
  1634. 488.17 s [really-safe-money-gen] Money.MultiAccountSpec
  1635. 488.17 s [really-safe-money-gen] subtractAmount
  1636. 488.17 s [really-safe-money-gen] produces valid amounts 44.00 ms
  1637. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1638. 488.17 s [really-safe-money-gen] add
  1639. 488.17 s [really-safe-money-gen] produces valid amounts 73.92 ms
  1640. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1641. 488.17 s [really-safe-money-gen] GenValid (MultiAccount Currency)
  1642. 488.17 s [really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
  1643. 488.17 s [really-safe-money-gen] only generates valid '(MultiAccount Currency)'s 67.71 ms
  1644. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1645. 488.17 s [really-safe-money-gen] sum
  1646. 488.17 s [really-safe-money-gen] produces valid amounts 110.80 ms
  1647. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1648. 488.17 s [really-safe-money-gen] fromAccount
  1649. 488.17 s [really-safe-money-gen] produces valid amounts 7.71 ms
  1650. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1651. 488.17 s [really-safe-money-gen] addAccount
  1652. 488.17 s [really-safe-money-gen] produces valid amounts 39.30 ms
  1653. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1654. 488.17 s [really-safe-money-gen] subtract
  1655. 488.17 s [really-safe-money-gen] produces valid amounts 73.20 ms
  1656. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1657. 488.17 s [really-safe-money-gen] addAmount
  1658. 488.17 s [really-safe-money-gen] produces valid amounts 44.82 ms
  1659. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1660. 488.17 s [really-safe-money-gen] subtractAccount
  1661. 488.17 s [really-safe-money-gen] produces valid amounts 44.79 ms
  1662. 488.17 s [really-safe-money-gen] passed for all of 1000 inputs.
  1663. 488.17 s [really-safe-money-gen]
  1664. 488.17 s [really-safe-money-gen]
  1665. 488.17 s [really-safe-money-gen]
  1666. 488.17 s [really-safe-money-gen] Examples: 46000
  1667. 488.17 s [really-safe-money-gen] Passed: 19
  1668. 488.17 s [really-safe-money-gen] Failed: 0
  1669. 488.17 s [really-safe-money-gen] Sum of test runtimes: 1.00 seconds
  1670. 488.17 s [really-safe-money-gen] Test suite took: 1.00 seconds
  1671. 488.17 s [really-safe-money-gen]
  1672. 488.17 s [really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
  1673. 488.17 s [really-safe-money-gen] @@ -36,7 +36,7 @@
  1674. 488.17 s [really-safe-money-gen] instance Validity QuantisationFactor where
  1675. 488.17 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1676. 488.17 s [really-safe-money-gen] mconcat
  1677. 488.17 s [really-safe-money-gen] - [ genericValidate qf,
  1678. 488.17 s [really-safe-money-gen] + [ generTesting mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
  1679. 488.17 s [really-safe-money-gen] @@ -36,7 +36,7 @@
  1680. 488.17 s [really-safe-money-gen] instance Validity QuantisationFactor where
  1681. 488.17 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1682. 488.17 s [really-safe-money-gen] mconcat
  1683. 488.17 s [really-safe-money-gen] - [ genericValidate qf,
  1684. 488.17 s [really-safe-money-gen] + [ genericValidate qf,
  1685. 488.17 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  1686. 488.17 s [really-safe-money-gen] ]
  1687. 488.17 s [really-safe-money-gen]
  1688. 488.17 s [really-safe-money-gen]
  1689. 489.09 s [really-safe-money-gen] icValidate qf,
  1690. 489.09 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  1691. 489.09 s [really-safe-money-gen] ]
  1692. 489.09 s [really-safe-money-gen]
  1693. 489.09 s [really-safe-money-gen] Tests:
  1694. 489.09 s [really-safe-money-gen]
  1695. 489.09 s [really-safe-money-gen] Money.MultiAmountSpec
  1696. 489.09 s [really-safe-money-gen] fromAmount
  1697. 489.09 s [really-safe-money-gen] produces valid amounts 7.13 ms
  1698. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1699. 489.09 s [really-safe-money-gen] sum
  1700. 489.09 s [really-safe-money-gen] produces valid amounts 95.92 ms
  1701. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1702. 489.09 s [really-safe-money-gen] add
  1703. 489.09 s [really-safe-money-gen] produces valid amounts 62.24 ms
  1704. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1705. 489.09 s [really-safe-money-gen] addAmount
  1706. 489.09 s [really-safe-money-gen] produces valid amounts 37.42 ms
  1707. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1708. 489.09 s [really-safe-money-gen] subtractAmount
  1709. 489.09 s [really-safe-money-gen] produces valid amounts 15.32 ms
  1710. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1711. 489.09 s [really-safe-money-gen] GenValid (MultiAmount Currency)
  1712. 489.09 s [really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
  1713. 489.09 s [really-safe-money-gen] only generates valid '(MultiAmount Currency)'s 63.41 ms
  1714. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1715. 489.09 s [really-safe-money-gen] subtract
  1716. 489.09 s [really-safe-money-gen] produces valid amounts 24.05 ms
  1717. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1718. 489.09 s [really-safe-money-gen] Money.QuantisationFactorSpec
  1719. 489.09 s [really-safe-money-gen] fromWord32
  1720. 489.09 s [really-safe-money-gen] produces valid quantisation factors 19.61 ms
  1721. 489.09 s [really-safe-money-gen] passed for all of 10000 inputs.
  1722. 489.09 s [really-safe-money-gen] DecimalLiteral
  1723. 489.09 s [really-safe-money-gen] fromDecimalLiteral
  1724. 489.09 s [really-safe-money-gen] produces valid factors 74.77 ms
  1725. 489.09 s [really-safe-money-gen] passed for all of 10000 inputs.
  1726. 489.09 s [really-safe-money-gen] GenValid QuantisationFactor
  1727. 489.09 s [really-safe-money-gen] genValid :: Gen QuantisationFactor
  1728. 489.09 s [really-safe-money-gen] only generates valid 'QuantisationFactor's 18.84 ms
  1729. 489.09 s [really-safe-money-gen] passed for all of 10000 inputs.
  1730. 489.09 s [really-safe-money-gen] Money.MultiAccountSpec
  1731. 489.09 s [really-safe-money-gen] subtractAmount
  1732. 489.09 s [really-safe-money-gen] produces valid amounts 39.00 ms
  1733. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1734. 489.09 s [really-safe-money-gen] add
  1735. 489.09 s [really-safe-money-gen] produces valid amounts 74.57 ms
  1736. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1737. 489.09 s [really-safe-money-gen] GenValid (MultiAccount Currency)
  1738. 489.09 s [really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
  1739. 489.09 s [really-safe-money-gen] only generates valid '(MultiAccount Currency)'s 59.54 ms
  1740. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1741. 489.09 s [really-safe-money-gen] sum
  1742. 489.09 s [really-safe-money-gen] produces valid amounts 82.72 ms
  1743. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1744. 489.09 s [really-safe-money-gen] fromAccount
  1745. 489.09 s [really-safe-money-gen] produces valid amounts 5.83 ms
  1746. 489.09 s [really-safe-money-gen] passed for all of 1000 inputs.
  1747. 489.09 s [really-safe-money-gen] addAccount
  1748. 489.09 s [really-safe-money-gen] produces valid amounts 34.93 ms
  1749. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1750. 489.10 s [really-safe-money-gen] subtract
  1751. 489.10 s [really-safe-money-gen] produces valid amounts 59.72 ms
  1752. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1753. 489.10 s [really-safe-money-gen] addAmount
  1754. 489.10 s [really-safe-money-gen] produces valid amounts 35.82 ms
  1755. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1756. 489.10 s [really-safe-money-gen] subtractAccount
  1757. 489.10 s [really-safe-money-gen] produces valid amounts 36.21 ms
  1758. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1759. 489.10 s [really-safe-money-gen]
  1760. 489.10 s [really-safe-money-gen]
  1761. 489.10 s [really-safe-money-gen]
  1762. 489.10 s [really-safe-money-gen] Examples: 46000
  1763. 489.10 s [really-safe-money-gen] Passed: 19
  1764. 489.10 s [really-safe-money-gen] Failed: 0
  1765. 489.10 s [really-safe-money-gen] Sum of test runtimes: 0.85 seconds
  1766. 489.10 s [really-safe-money-gen] Test suite took: 0.85 seconds
  1767. 489.10 s [really-safe-money-gen]
  1768. 489.10 s [really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
  1769. 489.10 s [really-safe-money-gen] @@ -36,7 +36,7 @@
  1770. 489.10 s [really-safe-money-gen] instance Validity QuantisationFactor where
  1771. 489.10 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  1772. 489.10 s [really-safe-money-gen] mconcat
  1773. 489.10 s [really-safe-money-gen] - [ genericValidate qf,
  1774. 489.10 s [really-safe-money-gen] + [ genericValidate qf,
  1775. 489.10 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  1776. 489.10 s [really-safe-money-gen] ]
  1777. 489.10 s [really-safe-money-gen]
  1778. 489.10 s [really-safe-money-gen] Tests:
  1779. 489.10 s [really-safe-money-gen]
  1780. 489.10 s [really-safe-money-gen] Money.MultiAmountSpec
  1781. 489.10 s [really-safe-money-gen] fromAmount
  1782. 489.10 s [really-safe-money-gen] produces valid amounts 6.68 ms
  1783. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1784. 489.10 s [really-safe-money-gen] sum
  1785. 489.10 s [really-safe-money-gen] produces valid amounts 88.45 ms
  1786. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1787. 489.10 s [really-safe-money-gen] add
  1788. 489.10 s [really-safe-money-gen] produces valid amounts 58.17 ms
  1789. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1790. 489.10 s [really-safe-money-gen] addAmount
  1791. 489.10 s [really-safe-money-gen] produces valid amounts 33.86 ms
  1792. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1793. 489.10 s [really-safe-money-gen] subtractAmount
  1794. 489.10 s [really-safe-money-gen] produces valid amounts 13.91 ms
  1795. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1796. 489.10 s [really-safe-money-gen] GenValid (MultiAmount Currency)
  1797. 489.10 s [really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
  1798. 489.10 s [really-safe-money-gen] only generates valid '(MultiAmount Currency)'s 55.65 ms
  1799. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1800. 489.10 s [really-safe-money-gen] subtract
  1801. 489.10 s [really-safe-money-gen] produces valid amounts 25.31 ms
  1802. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1803. 489.10 s [really-safe-money-gen] Money.QuantisationFactorSpec
  1804. 489.10 s [really-safe-money-gen] fromWord32
  1805. 489.10 s [really-safe-money-gen] produces valid quantisation factors 18.51 ms
  1806. 489.10 s [really-safe-money-gen] passed for all of 10000 inputs.
  1807. 489.10 s [really-safe-money-gen] DecimalLiteral
  1808. 489.10 s [really-safe-money-gen] fromDecimalLiteral
  1809. 489.10 s [really-safe-money-gen] produces valid factors 83.34 ms
  1810. 489.10 s [really-safe-money-gen] passed for all of 10000 inputs.
  1811. 489.10 s [really-safe-money-gen] GenValid QuantisationFactor
  1812. 489.10 s [really-safe-money-gen] genValid :: Gen QuantisationFactor
  1813. 489.10 s [really-safe-money-gen] only generates valid 'QuantisationFactor's 19.12 ms
  1814. 489.10 s [really-safe-money-gen] passed for all of 10000 inputs.
  1815. 489.10 s [really-safe-money-gen] Money.MultiAccountSpec
  1816. 489.10 s [really-safe-money-gen] subtractAmount
  1817. 489.10 s [really-safe-money-gen] produces valid amounts 35.57 ms
  1818. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1819. 489.10 s [really-safe-money-gen] add
  1820. 489.10 s [really-safe-money-gen] produces valid amounts 64.48 ms
  1821. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1822. 489.10 s [really-safe-money-gen] GenValid (MultiAccount Currency)
  1823. 489.10 s [really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
  1824. 489.10 s [really-safe-money-gen] only generates valid '(MultiAccount Currency)'s 55.99 ms
  1825. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1826. 489.10 s [really-safe-money-gen] sum
  1827. 489.10 s [really-safe-money-gen] produces valid amounts 95.43 ms
  1828. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1829. 489.10 s [really-safe-money-gen] fromAccount
  1830. 489.10 s [really-safe-money-gen] produces valid amounts 6.59 ms
  1831. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1832. 489.10 s [really-safe-money-gen] addAccount
  1833. 489.10 s [really-safe-money-gen] produces valid amounts 36.89 ms
  1834. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1835. 489.10 s [really-safe-money-gen] subtract
  1836. 489.10 s [really-safe-money-gen] produces valid amounts 66.49 ms
  1837. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1838. 489.10 s [really-safe-money-gen] addAmount
  1839. 489.10 s [really-safe-money-gen] produces valid amounts 36.30 ms
  1840. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1841. 489.10 s [really-safe-money-gen] subtractAccount
  1842. 489.10 s [really-safe-money-gen] produces valid amounts 36.24 ms
  1843. 489.10 s [really-safe-money-gen] passed for all of 1000 inputs.
  1844. 489.10 s [really-safe-money-gen]
  1845. 489.10 s [really-safe-money-gen]
  1846. 489.10 s [really-safe-money-gen]
  1847. 489.10 s [really-safe-money-gen] Examples: 46000
  1848. 489.10 s [really-safe-money-gen] Passed: 19
  1849. 489.10 s [really-safe-money-gen] Failed: 0
  1850. 489.10 s [really-safe-money-gen] Sum of test runtimes: 0.84 secondsTesting mutation ConstBool at src/Money/MultiAmount.hs:168:20-45:
  1851. 489.10 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  1852. 489.10 s [really-safe-money-gen] maxBoundN :: Natural
  1853. 489.10 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1854. 489.10 s [really-safe-money-gen] actualResult =
  1855. 489.10 s [really-safe-money-gen] - if roundedResult > maxBoundN
  1856. 489.10 s [really-safe-money-gen] + if True
  1857. 489.10 s [really-safe-money-gen] then Nothing
  1858. 489.10 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  1859. 489.10 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  1860. 489.10 s [really-safe-money-gen]
  1861. 489.19 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45:
  1862. 489.19 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  1863. 489.19 s [really-safe-money-gen] maxBoundN :: Natural
  1864. 489.19 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1865. 489.19 s [really-safe-money-gen] actualResult =
  1866. 489.19 s [really-safe-money-gen] - if roundedResult > maxBoundN
  1867. 489.19 s [really-safe-money-gen] + if False
  1868. 489.19 s [really-safe-money-gen] then Nothing
  1869. 489.19 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  1870. 489.19 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  1871. 489.19 s [really-safe-money-gen]
  1872. 489.29 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:168:20-45:
  1873. 489.29 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  1874. 489.29 s [really-safe-money-gen] maxBoundN :: Natural
  1875. 489.29 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1876. 489.29 s [really-safe-money-gen] actualResult =
  1877. 489.29 s [really-safe-money-gen] - if roundedResult > maxBoundN
  1878. 489.29 s [really-safe-money-gen] + if not (roundedResult > maxBoundN)
  1879. 489.29 s [really-safe-money-gen] then Nothing
  1880. 489.29 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  1881. 489.29 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  1882. 489.29 s [really-safe-money-gen]
  1883. 489.40 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:168:17-57:
  1884. 489.40 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  1885. 489.40 s [really-safe-money-gen] maxBoundN :: Natural
  1886. 489.40 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1887. 489.40 s [really-safe-money-gen] actualResult =
  1888. 489.40 s [really-safe-money-gen] - if roundedResult > maxBoundN
  1889. 489.40 s [really-safe-money-gen] + if roundedResult > maxBoundN
  1890. 489.40 s [really-safe-money-gen] then Nothing
  1891. 489.40 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  1892. 489.40 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  1893. 489.40 s [really-safe-money-gen]
  1894. 489.50 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
  1895. 489.50 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  1896. 489.50 s [really-safe-money-gen] Just a -> do
  1897. 489.50 s [really-safe-money-gen] r <- Amount.subtract a amount
  1898. 489.50 s [really-safe-money-gen] Just $
  1899. 489.50 s [really-safe-money-gen] - if r == Amount.zero
  1900. 489.50 s [really-safe-money-gen] + if True
  1901. 489.50 s [really-safe-money-gen] then M.delete currency m
  1902. 489.50 s [really-safe-money-gen] else M.insert currency r m
  1903. 489.50 s [really-safe-money-gen]
  1904. 489.50 s [really-safe-money-gen]
  1905. 489.64 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
  1906. 489.64 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  1907. 489.64 s [really-safe-money-gen] Just a -> do
  1908. 489.64 s [really-safe-money-gen] r <- Amount.subtract a amount
  1909. 489.64 s [really-safe-money-gen] Just $
  1910. 489.64 s [really-safe-money-gen] - if r == Amount.zero
  1911. 489.64 s [really-safe-money-gen] + if False
  1912. 489.64 s [really-safe-money-gen] then M.delete currency m
  1913. 489.64 s [really-safe-money-gen] else M.insert currency r m
  1914. 489.64 s [really-safe-money-gen]
  1915. 489.64 s [really-safe-money-gen]
  1916. 489.76 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:119:12-28:
  1917. 489.76 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  1918. 489.76 s [really-safe-money-gen] Just a -> do
  1919. 489.76 s [really-safe-money-gen] r <- Amount.subtract a amount
  1920. 489.76 s [really-safe-money-gen] Just $
  1921. 489.76 s [really-safe-money-gen] - if r == Amount.zero
  1922. 489.76 s [really-safe-money-gen] + if not (r == Amount.zero)
  1923. 489.76 s [really-safe-money-gen] then M.delete currency m
  1924. 489.76 s [really-safe-money-gen] else M.insert currency r m
  1925. 489.76 s [really-safe-money-gen]
  1926. 489.76 s [really-safe-money-gen]
  1927. 489.89 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:119:9-37:
  1928. 489.89 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  1929. 489.89 s [really-safe-money-gen] Just a -> do
  1930. 489.89 s [really-safe-money-gen] r <- Amount.subtract a amount
  1931. 489.89 s [really-safe-money-gen] Just $
  1932. 489.89 s [really-safe-money-gen] - if r == Amount.zero
  1933. 489.89 s [really-safe-money-gen] + if r == Amount.zero
  1934. 489.89 s [really-safe-money-gen] then M.delete currency m
  1935. 489.89 s [really-safe-money-gen] else M.insert currency r m
  1936. 489.89 s [really-safe-money-gen]
  1937. 489.89 s [really-safe-money-gen]
  1938. 490.02 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28:
  1939. 490.02 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  1940. 490.02 s [really-safe-money-gen] Just a -> do
  1941. 490.02 s [really-safe-money-gen] r <- Amount.add a amount
  1942. 490.02 s [really-safe-money-gen] Just $
  1943. 490.02 s [really-safe-money-gen] - if r == Amount.zero
  1944. 490.02 s [really-safe-money-gen] + if True
  1945. 490.02 s [really-safe-money-gen] then M.delete currency m
  1946. 490.02 s [really-safe-money-gen] else M.insert currency r m
  1947. 490.02 s [really-safe-money-gen]
  1948. 490.02 s [really-safe-money-gen]
  1949. 490.52 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28:
  1950. 490.52 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  1951. 490.52 s [really-safe-money-gen] Just a -> do
  1952. 490.52 s [really-safe-money-gen] r <- Amount.add a amount
  1953. 490.52 s [really-safe-money-gen] Just $
  1954. 490.52 s [really-safe-money-gen] - if r == Amount.zero
  1955. 490.52 s [really-safe-money-gen] + if False
  1956. 490.52 s [really-safe-money-gen] then M.delete currency m
  1957. 490.52 s [really-safe-money-gen] else M.insert currency r m
  1958. 490.52 s [really-safe-money-gen]
  1959. 490.52 s [really-safe-money-gen]
  1960. 491.02 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:106:12-28:
  1961. 491.02 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  1962. 491.02 s [really-safe-money-gen] Just a -> do
  1963. 491.02 s [really-safe-money-gen] r <- Amount.add a amount
  1964. 491.02 s [really-safe-money-gen] Just $
  1965. 491.02 s [really-safe-money-gen] - if r == Amount.zero
  1966. 491.02 s [really-safe-money-gen] + if not (r == Amount.zero)
  1967. 491.02 s [really-safe-money-gen] then M.delete currency m
  1968. 491.02 s [really-safe-money-gen] else M.insert currency r m
  1969. 491.02 s [really-safe-money-gen]
  1970. 491.02 s [really-safe-money-gen]
  1971. 491.53 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:106:9-37:
  1972. 491.53 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  1973. 491.53 s [really-safe-money-gen] Just a -> do
  1974. 491.53 s [really-safe-money-gen] r <- Amount.add a amount
  1975. 491.53 s [really-safe-money-gen] Just $
  1976. 491.53 s [really-safe-money-gen] - if r == Amount.zero
  1977. 491.53 s [really-safe-money-gen] + if r == Amount.zero
  1978. 491.53 s [really-safe-money-gen] then M.delete currency m
  1979. 491.53 s [really-safe-money-gen] else M.insert currency r m
  1980. 491.53 s [really-safe-money-gen]
  1981. 491.53 s [really-safe-money-gen]
  1982. 492.04 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27:
  1983. 492.04 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  1984. 492.04 s [really-safe-money-gen]
  1985. 492.04 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  1986. 492.04 s [really-safe-money-gen] fromAmount currency amount =
  1987. 492.04 s [really-safe-money-gen] - if amount == Amount.zero
  1988. 492.04 s [really-safe-money-gen] + if True
  1989. 492.04 s [really-safe-money-gen] then zero
  1990. 492.04 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  1991. 492.04 s [really-safe-money-gen]
  1992. 492.04 s [really-safe-money-gen]
  1993. 492.15 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27:
  1994. 492.15 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  1995. 492.15 s [really-safe-money-gen]
  1996. 492.21 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  1997. 492.21 s [really-safe-money-gen] fromAmount currency amount =
  1998. 492.21 s [really-safe-money-gen] - if amount == Amount.zero
  1999. 492.21 s [really-safe-money-gen] + if False
  2000. 492.21 s [really-safe-money-gen] then zero
  2001. 492.21 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  2002. 492.21 s [really-safe-money-gen]
  2003. 492.21 s [really-safe-money-gen]
  2004. 492.26 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:73:6-27:
  2005. 492.26 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  2006. 492.26 s [really-safe-money-gen]
  2007. 492.27 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  2008. 492.27 s [really-safe-money-gen] fromAmount currency amount =
  2009. 492.27 s [really-safe-money-gen] - if amount == Amount.zero
  2010. 492.27 s [really-safe-money-gen] + if not (amount == Amount.zero)
  2011. 492.27 s [really-safe-money-gen] then zero
  2012. 492.27 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  2013. 492.27 s [really-safe-money-gen]
  2014. 492.27 s [really-safe-money-gen]
  2015. 492.36 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:73:3-51:
  2016. 492.36 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  2017. 492.36 s [really-safe-money-gen]
  2018. 492.36 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  2019. 492.36 s [really-safe-money-gen] fromAmount currency amount =
  2020. 492.36 s [really-safe-money-gen] - if amount == Amount.zero
  2021. 492.36 s [really-safe-money-gen] + if amount == Amount.zero
  2022. 492.36 s [really-safe-money-gen] then zero
  2023. 492.36 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  2024. 492.36 s [really-safe-money-gen]
  2025. 492.36 s [really-safe-money-gen]
  2026. 492.45 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
  2027. 492.45 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  2028. 492.45 s [really-safe-money-gen] [ genericValidate ma,
  2029. 492.45 s [really-safe-money-gen] decorateMap m $ \_ a ->
  2030. 492.45 s [really-safe-money-gen] declare "The amount is not zero" $
  2031. 492.45 s [really-safe-money-gen] - a /= Amount.zero
  2032. 492.45 s [really-safe-money-gen] + True
  2033. 492.45 s [really-safe-money-gen] ]
  2034. 492.45 s [really-safe-money-gen]
  2035. 492.45 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  2036. 492.45 s [really-safe-money-gen]
  2037. 492.86 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
  2038. 492.86 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  2039. 492.86 s [really-safe-money-gen] [ genericValidate ma,
  2040. 492.86 s [really-safe-money-gen] decorateMap m $ \_ a ->
  2041. 492.86 s [really-safe-money-gen] declare "The amount is not zero" $
  2042. 492.86 s [really-safe-money-gen] - a /= Amount.zero
  2043. 492.86 s [really-safe-money-gen] + False
  2044. 492.86 s [really-safe-money-gen] ]
  2045. 492.86 s [really-safe-money-gen]
  2046. 492.86 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  2047. 492.86 s [really-safe-money-gen]
  2048. 493.25 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:66:13-29:
  2049. 493.25 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  2050. 493.25 s [really-safe-money-gen] [ genericValidate ma,
  2051. 493.25 s [really-safe-money-gen] decorateMap m $ \_ a ->
  2052. 493.25 s [really-safe-money-gen] declare "The amount is not zero" $
  2053. 493.25 s [really-safe-money-gen] - a /= Amount.zero
  2054. 493.25 s [really-safe-money-gen] + not (a /= Amount.zero)
  2055. 493.25 s [really-safe-money-gen] ]
  2056. 493.25 s [really-safe-money-gen]
  2057. 493.25 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  2058. 493.25 s [really-safe-money-gen]
  2059. 493.35 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
  2060. 493.35 s [really-safe-money-gen] @@ -60,7 +60,7 @@
  2061. 493.35 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  2062. 493.35 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  2063. 493.35 s [really-safe-money-gen] mconcat
  2064. 493.35 s [really-safe-money-gen] - [ genericValidate ma,
  2065. 493.35 s [really-safe-money-gen] + [ genericValidate ma,
  2066. 493.35 s [really-safe-money-gen] decorateMap m $ \_ a ->
  2067. 493.35 s [really-safe-money-gen] declare "The amount is not zero" $
  2068. 493.35 s [really-safe-money-gen] a /= Amount.zero
  2069. 493.35 s [really-safe-money-gen]
  2070. 493.56 s [really-safe-money-gen]
  2071. 493.56 s [really-safe-money-gen] Test suite took: 0.84 seconds
  2072. 493.56 s [really-safe-money-gen]
  2073. 493.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
  2074. 493.56 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  2075. 493.56 s [really-safe-money-gen] Just a -> do
  2076. 493.56 s [really-safe-money-gen] r <- Amount.subtract a amount
  2077. 493.56 s [really-safe-money-gen] Just $
  2078. 493.56 s [really-safe-money-gen] - if r == Amount.zero
  2079. 493.56 s [really-safe-money-gen] + if True
  2080. 493.56 s [really-safe-money-gen] then M.delete currency m
  2081. 493.56 s [really-safe-money-gen] else M.insert currency r m
  2082. 493.56 s [really-safe-money-gen]
  2083. 493.56 s [really-safe-money-gen] Tests:
  2084. 493.56 s [really-safe-money-gen]
  2085. 493.56 s [really-safe-money-gen] Money.MultiAmountSpec
  2086. 493.56 s [really-safe-money-gen] subtractAmount
  2087. 493.56 s [really-safe-money-gen] produces valid amounts 15.93 ms
  2088. 493.56 s [really-safe-money-gen] passed for all of 1000 inputs.
  2089. 493.56 s [really-safe-money-gen] subtract
  2090. 493.56 s [really-safe-money-gen] produces valid amounts 24.31 ms
  2091. 493.56 s [really-safe-money-gen] passed for all of 1000 inputs.
  2092. 493.56 s [really-safe-money-gen]
  2093. 493.56 s [really-safe-money-gen]
  2094. 493.56 s [really-safe-money-gen]
  2095. 493.56 s [really-safe-money-gen] Examples: 2000
  2096. 493.56 s [really-safe-money-gen] Passed: 2
  2097. 493.56 s [really-safe-money-gen] Failed: 0
  2098. 493.56 s [really-safe-money-gen] Sum of test runtimes: 0.04 seconds
  2099. 493.56 s [really-safe-money-gen] Test suite took: 0.04 seconds
  2100. 493.56 s [really-safe-money-gen]
  2101. 493.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
  2102. 493.56 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  2103. 493.56 s [really-safe-money-gen] Just a -> do
  2104. 493.56 s [really-safe-money-gen] r <- Amount.subtract a amount
  2105. 493.56 s [really-safe-money-gen] Just $
  2106. 493.56 s [really-safe-money-gen] - if r == Amount.zero
  2107. 493.56 s [really-safe-money-gen] + if False
  2108. 493.56 s [really-safe-money-gen] then M.delete currency m
  2109. 493.56 s [really-safe-money-gen] else M.insert currency r m
  2110. 493.56 s [really-safe-money-gen]
  2111. 493.56 s [really-safe-money-gen] Tests:
  2112. 493.56 s [really-safe-money-gen]
  2113. 493.56 s [really-safe-money-gen] Money.MultiAmountSpec
  2114. 493.56 s [really-safe-money-gen] subtractAmount
  2115. 493.56 s [really-safe-money-gen] produces valid amounts 13.66 ms
  2116. 493.56 s [really-safe-money-gen] passed for all of 1000 inputs.
  2117. 493.56 s [really-safe-money-gen] subtract
  2118. 493.56 s [really-safe-money-gen] produces valid amounts 20.85 ms
  2119. 493.56 s [really-safe-money-gen] passed for all of 1000 inputs.
  2120. 493.56 s [really-safe-money-gen]
  2121. 493.56 s [really-safe-money-gen]
  2122. 493.56 s [really-safe-money-gen]
  2123. 493.56 s [really-safe-money-gen] Examples: 2000
  2124. 493.56 s [really-safe-money-gen] Passed: 2
  2125. 493.56 s [really-safe-money-gen] Failed: 0
  2126. 493.56 s [really-safe-money-gen] Sum of test runtimes: 0.03 seconds
  2127. 493.56 s [really-safe-money-gen] Test suite took: 0.04 seconds
  2128. 493.56 s [really-safe-money-gen]
  2129. 493.56 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:119:12-28:
  2130. 493.56 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  2131. 493.56 s [really-safe-money-gen] Just a -> do
  2132. 493.56 s [really-safe-money-gen] r <- Amount.subtract a amount
  2133. 493.56 s [really-safe-money-gen] Just $
  2134. 493.56 s [really-safe-money-gen] - if r == Amount.zero
  2135. 493.56 s [really-safe-money-gen] + if not (r == Amount.zero)
  2136. 493.56 s [really-safe-money-gen] then M.delete currency m
  2137. 493.56 s [really-safe-money-gen] else M.insert currency r m
  2138. 493.56 s [really-safe-money-gen]
  2139. 493.56 s [really-safe-money-gen] Tests:
  2140. 493.56 s [really-safe-money-gen]
  2141. 493.56 s [really-safe-money-gen] Money.MultiAmountSpec
  2142. 493.56 s [really-safe-money-gen] subtractAmount
  2143. 493.56 s [really-safe-money-gen] produces valid amounts 13.53 ms
  2144. 493.56 s [really-safe-money-gen] passed for all of 1000 inputs.
  2145. 493.56 s [really-safe-money-gen] subtract
  2146. 493.56 s [really-safe-money-gen] produces valid amounts 23.47 ms
  2147. 493.56 s [really-safe-money-gen] passed for all of 1000 inputs.
  2148. 493.56 s [really-safe-money-gen]
  2149. 493.56 s [really-safe-money-gen]
  2150. 493.56 s [really-safe-money-gen]
  2151. 493.56 s [really-safe-money-gen] Examples: 2000
  2152. 493.56 s [really-safe-money-gen] Passed: 2
  2153. 493.56 s [really-safe-money-gen] Failed: 0
  2154. 493.56 s [really-safe-money-gen] Sum of test runtimes: 0.04 seconds
  2155. 493.56 s [really-safe-money-gen] Test suite took: 0.04 seconds
  2156. 493.56 s [really-safe-money-gen]
  2157. 493.56 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:119:9-37:
  2158. 493.56 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  2159. 493.56 s [really-safe-money-gen] Just a -> do
  2160. 493.56 s [really-safe-money-gen] r <- Amount.subtract a amount
  2161. 493.56 s [really-safe-money-gen] Just $
  2162. 493.56 s [really-safe-money-gen] - if r == Amount.zero
  2163. 493.56 s [really-safe-money-gen] + if r == Amount.zero
  2164. 493.56 s [really-safe-money-gen] then M.delete currency m
  2165. 493.56 s [really-safe-money-gen] else M.insert currency r m
  2166. 493.56 s [really-safe-money-gen]
  2167. 493.56 s [really-safe-money-gen] Tests:
  2168. 493.56 s [really-safe-money-gen]
  2169. 493.56 s [really-safe-money-gen] Money.MultiAmountSpec
  2170. 493.56 s [really-safe-money-gen] subtractAmount
  2171. 493.56 s [really-safe-money-gen] produces valid amounts 14.08 ms
  2172. 493.56 s [really-safe-money-gen] passed for all of 1000 inputs.
  2173. 493.56 s [really-safe-money-gen] subtract
  2174. 493.56 s [really-safe-money-gen] produces valid amounts 21.18 ms
  2175. 493.56 s [really-safe-money-gen] passed for all of 1000 inputs.
  2176. 493.56 s [really-safe-money-gen]
  2177. 493.56 s [really-safe-money-gen]
  2178. 493.56 s [really-safe-money-gen]
  2179. 493.56 s [really-safe-money-gen] Examples: 2000
  2180. 493.56 s [really-safe-money-gen] Passed: 2
  2181. 493.57 s [really-safe-money-gen] Failed: 0
  2182. 493.57 s [really-safe-money-gen] Sum of test runtimes: 0.04 seconds
  2183. 493.57 s [really-safe-money-gen] Test suite took: 0.04 seconds
  2184. 493.57 s [really-safe-money-gen]
  2185. 493.57 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
  2186. 493.57 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  2187. 493.57 s [really-safe-money-gen] [ genericValidate ma,
  2188. 493.57 s [really-safe-money-gen] decorateMap m $ \_ a ->
  2189. 493.57 s [really-safe-money-gen] declare "The amount is not zero" $
  2190. 493.57 s [really-safe-money-gen] - a /= Amount.zero
  2191. 493.57 s [really-safe-money-gen] + True
  2192. 493.57 s [really-safe-money-gen] ]
  2193. 493.57 s [really-safe-money-gen]
  2194. 493.57 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  2195. 493.57 s [really-safe-money-gen] Tests:
  2196. 493.57 s [really-safe-money-gen]
  2197. 493.57 s [really-safe-money-gen] Money.MultiAmountSpec
  2198. 493.57 s [really-safe-money-gen] fromAmount
  2199. 493.57 s [really-safe-money-gen] produces valid amounts 8.06 ms
  2200. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2201. 493.57 s [really-safe-money-gen] sum
  2202. 493.57 s [really-safe-money-gen] produces valid amounts 106.73 ms
  2203. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2204. 493.57 s [really-safe-money-gen] add
  2205. 493.57 s [really-safe-money-gen] produces valid amounts 70.24 ms
  2206. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2207. 493.57 s [really-safe-money-gen] addAmount
  2208. 493.57 s [really-safe-money-gen] produces valid amounts 44.25 ms
  2209. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2210. 493.57 s [really-safe-money-gen] subtractAmount
  2211. 493.57 s [really-safe-money-gen] produces valid amounts 14.51 ms
  2212. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2213. 493.57 s [really-safe-money-gen] GenValid (MultiAmount Currency)
  2214. 493.57 s [really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
  2215. 493.57 s [really-safe-money-gen] only generates valid '(MultiAmount Currency)'s 57.30 ms
  2216. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2217. 493.57 s [really-safe-money-gen] subtract
  2218. 493.57 s [really-safe-money-gen] produces valid amounts 19.88 ms
  2219. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2220. 493.57 s [really-safe-money-gen]
  2221. 493.57 s [really-safe-money-gen]
  2222. 493.57 s [really-safe-money-gen]
  2223. 493.57 s [really-safe-money-gen] Examples: 7000
  2224. 493.57 s [really-safe-money-gen] Passed: 7
  2225. 493.57 s [really-safe-money-gen] Failed: 0
  2226. 493.57 s [really-safe-money-gen] Sum of test runtimes: 0.32 seconds
  2227. 493.57 s [really-safe-money-gen] Test suite took: 0.32 seconds
  2228. 493.57 s [really-safe-money-gen]
  2229. 493.57 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
  2230. 493.57 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  2231. 493.57 s [really-safe-money-gen] [ genericValidate ma,
  2232. 493.57 s [really-safe-money-gen] decorateMap m $ \_ a ->
  2233. 493.57 s [really-safe-money-gen] declare "The amount is not zero" $
  2234. 493.57 s [really-safe-money-gen] - a /= Amount.zero
  2235. 493.57 s [really-safe-money-gen] + False
  2236. 493.57 s [really-safe-money-gen] ]
  2237. 493.57 s [really-safe-money-gen]
  2238. 493.57 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  2239. 493.57 s [really-safe-money-gen] Tests:
  2240. 493.57 s [really-safe-money-gen]
  2241. 493.57 s [really-safe-money-gen] Money.MultiAmountSpec
  2242. 493.57 s [really-safe-money-gen] fromAmount
  2243. 493.57 s [really-safe-money-gen] produces valid amounts 7.69 ms
  2244. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2245. 493.57 s [really-safe-money-gen] sum
  2246. 493.57 s [really-safe-money-gen] produces valid amounts 90.92 ms
  2247. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2248. 493.57 s [really-safe-money-gen] add
  2249. 493.57 s [really-safe-money-gen] produces valid amounts 64.21 ms
  2250. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2251. 493.57 s [really-safe-money-gen] addAmount
  2252. 493.57 s [really-safe-money-gen] produces valid amounts 38.69 ms
  2253. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2254. 493.57 s [really-safe-money-gen] subtractAmount
  2255. 493.57 s [really-safe-money-gen] produces valid amounts 12.77 ms
  2256. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2257. 493.57 s [really-safe-money-gen] GenValid (MultiAmount Currency)
  2258. 493.57 s [really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
  2259. 493.57 s [really-safe-money-gen] only generates valid '(MultiAmount Currency)'s 58.99 ms
  2260. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2261. 493.57 s [really-safe-money-gen] subtract
  2262. 493.57 s [really-safe-money-gen] produces valid amounts 22.38 ms
  2263. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2264. 493.57 s [really-safe-money-gen]
  2265. 493.57 s [really-safe-money-gen]
  2266. 493.57 s [really-safe-money-gen]
  2267. 493.57 s [really-safe-money-gen] Examples: 7000
  2268. 493.57 s [really-safe-money-gen] Passed: 7
  2269. 493.57 s [really-safe-money-gen] Failed: 0
  2270. 493.57 s [really-safe-money-gen] Sum of test runtimes: 0.30 seconds
  2271. 493.57 s [really-safe-money-gen] Test suite took: 0.30 seconds
  2272. 493.57 s [really-safe-money-gen]
  2273. 493.57 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
  2274. 493.57 s [really-safe-money-gen] @@ -60,7 +60,7 @@
  2275. 493.57 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  2276. 493.57 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  2277. 493.57 s [really-safe-money-gen] mconcat
  2278. 493.57 s [really-safe-money-gen] - [ genericValidate ma,
  2279. 493.57 s [really-safe-money-gen] + [ genericValidate ma,
  2280. 493.57 s [really-safe-money-gen] decorateMap m $ \_ a ->
  2281. 493.57 s [really-safe-money-gen] declare "The amount is not zero" $
  2282. 493.57 s [really-safe-money-gen] a /= Amount.zero
  2283. 493.57 s [really-safe-money-gen] Tests:
  2284. 493.57 s [really-safe-money-gen]
  2285. 493.57 s [really-safe-money-gen] Money.MultiAmountSpec
  2286. 493.57 s [really-safe-money-gen] fromAmount
  2287. 493.57 s [really-safe-money-gen] produces valid amounts 1.91 ms
  2288. 493.57 s [really-safe-money-gen] passed for all of 1000 inputs.
  2289. 493.57 s [really-safe-money-gen] zero
  2290. 493.57 s [really-safe-money-gen] is valid Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
  2291. 493.57 s [really-safe-money-gen] @@ -60,7 +60,7 @@
  2292. 493.57 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  2293. 493.57 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  2294. 493.57 s [really-safe-money-gen] mconcat
  2295. 493.57 s [really-safe-money-gen] - [ genericValidate ma,
  2296. 493.57 s [really-safe-money-gen] + [ genericValidate ma,
  2297. 493.57 s [really-safe-money-gen] decorateMap m $ \_ a ->
  2298. 493.57 s [really-safe-money-gen] declare "The amount is not zero" $
  2299. 493.57 s [really-safe-money-gen] a /= Amount.zero
  2300. 493.57 s [really-safe-money-gen]
  2301. 493.80 s [really-safe-money-gen] 0.00 ms
  2302. 493.80 s [really-safe-money-gen] sum
  2303. 493.80 s [really-safe-money-gen] produces valid amounts 48.70 ms
  2304. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2305. 493.80 s [really-safe-money-gen] add
  2306. 493.80 s [really-safe-money-gen] produces valid amounts 24.85 ms
  2307. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2308. 493.80 s [really-safe-money-gen] addAmount
  2309. 493.80 s [really-safe-money-gen] produces valid amounts 12.31 ms
  2310. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2311. 493.80 s [really-safe-money-gen] subtractAmount
  2312. 493.80 s [really-safe-money-gen] produces valid amounts 12.07 ms
  2313. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2314. 493.80 s [really-safe-money-gen] GenValid (MultiAmount Currency)
  2315. 493.80 s [really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
  2316. 493.80 s [really-safe-money-gen] only generates valid '(MultiAmount Currency)'s 1.42 ms
  2317. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2318. 493.80 s [really-safe-money-gen] subtract
  2319. 493.80 s [really-safe-money-gen] produces valid amounts 21.18 ms
  2320. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2321. 493.80 s [really-safe-money-gen]
  2322. 493.80 s [really-safe-money-gen]
  2323. 493.80 s [really-safe-money-gen]
  2324. 493.80 s [really-safe-money-gen] Examples: 7001
  2325. 493.80 s [really-safe-money-gen] Passed: 8
  2326. 493.80 s [really-safe-money-gen] Failed: 0
  2327. 493.80 s [really-safe-money-gen] Sum of test runtimes: 0.12 seconds
  2328. 493.80 s [really-safe-money-gen] Test suite took: 0.13 seconds
  2329. 493.80 s [really-safe-money-gen]
  2330. 493.80 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
  2331. 493.80 s [really-safe-money-gen] @@ -60,7 +60,7 @@
  2332. 493.80 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  2333. 493.80 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  2334. 493.80 s [really-safe-money-gen] mconcat
  2335. 493.80 s [really-safe-money-gen] - [ genericValidate ma,
  2336. 493.80 s [really-safe-money-gen] + [ genericValidate ma,
  2337. 493.80 s [really-safe-money-gen] decorateMap m $ \_ a ->
  2338. 493.80 s [really-safe-money-gen] declare "The amount is not zero" $
  2339. 493.80 s [really-safe-money-gen] a /= Amount.zero
  2340. 493.80 s [really-safe-money-gen] Tests:
  2341. 493.80 s [really-safe-money-gen]
  2342. 493.80 s [really-safe-money-gen] Money.MultiAmountSpec
  2343. 493.80 s [really-safe-money-gen] fromAmount
  2344. 493.80 s [really-safe-money-gen] produces valid amounts 2.09 ms
  2345. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2346. 493.80 s [really-safe-money-gen] zero
  2347. 493.80 s [really-safe-money-gen] is valid 0.02 ms
  2348. 493.80 s [really-safe-money-gen] sum
  2349. 493.80 s [really-safe-money-gen] produces valid amounts 51.08 ms
  2350. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2351. 493.80 s [really-safe-money-gen] add
  2352. 493.80 s [really-safe-money-gen] produces valid amounts 25.82 ms
  2353. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2354. 493.80 s [really-safe-money-gen] addAmount
  2355. 493.80 s [really-safe-money-gen] produces valid amounts 14.26 ms
  2356. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2357. 493.80 s [really-safe-money-gen] subtractAmount
  2358. 493.80 s [really-safe-money-gen] produces valid amounts 13.08 ms
  2359. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2360. 493.80 s [really-safe-money-gen] GenValid (MultiAmount Currency)
  2361. 493.80 s [really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
  2362. 493.80 s [really-safe-money-gen] only generates valid '(MultiAmount Currency)'s 1.55 ms
  2363. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2364. 493.80 s [really-safe-money-gen] subtract
  2365. 493.80 s [really-safe-money-gen] produces valid amounts 19.85 ms
  2366. 493.80 s [really-safe-money-gen] passed for all of 1000 inputs.
  2367. 493.80 s [really-safe-money-gen]
  2368. 493.80 s [really-safe-money-gen]
  2369. 493.80 s [really-safe-money-gen]
  2370. 493.80 s [really-safe-money-gen] Examples: 7001
  2371. 493.80 s [really-safe-money-gen] Passed: 8
  2372. 493.80 s [really-safe-money-gen] Failed: 0
  2373. 493.80 s [really-safe-money-gen] Sum of test runtimes: 0.13 seconds
  2374. 493.80 s [really-safe-money-gen] Test suite took: 0.13 seconds
  2375. 493.80 s [really-safe-money-gen]
  2376. 493.80 s [really-safe-money-gen] Killed: 233
  2377. 493.80 s [really-safe-money-gen] Survived: 79
  2378. 493.80 s [really-safe-money-gen] Uncovered: 3
  2379. 493.81 s [really-safe-money-gen] checkPhase completed in 7 minutes 57 seconds
  2380. 493.81 s [really-safe-money-gen] Phase: haddockPhase
  2381. 493.94 s [really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
  2382. 493.95 s [really-safe-money-gen] Running Haddock on library for really-safe-money-gen-0.0.0.0...
  2383. 493.95 s [really-safe-money-gen] Warning: The documentation for the following packages are not installed. No
  2384. 493.95 s [really-safe-money-gen] links will be generated to these packages: really-safe-money-0.0.0.0
  2385. 494.13 s [really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, nothing )
  2386. 494.26 s [really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, nothing )
  2387. 494.26 s [really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, nothing )
  2388. 494.26 s [really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, nothing )
  2389. 494.27 s [really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, nothing )
  2390. 494.27 s [really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, nothing )
  2391. 494.28 s [really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, nothing )
  2392. 494.28 s [really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, nothing )
  2393. 494.28 s [really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, nothing )
  2394. 494.29 s [really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, nothing )
  2395. 494.30 s [really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, nothing )
  2396. 494.30 s [really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, nothing )
  2397. 494.30 s [really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, nothing )
  2398. 494.32 s [really-safe-money-gen] Haddock coverage:
  2399. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.Amount.Gen'
  2400. 494.32 s [really-safe-money-gen] Missing documentation for:
  2401. 494.32 s [really-safe-money-gen] Module header
  2402. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.Account.Gen'
  2403. 494.32 s [really-safe-money-gen] Missing documentation for:
  2404. 494.32 s [really-safe-money-gen] Module header
  2405. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.AccountOf.Gen'
  2406. 494.32 s [really-safe-money-gen] Missing documentation for:
  2407. 494.32 s [really-safe-money-gen] Module header
  2408. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.AmountOf.Gen'
  2409. 494.32 s [really-safe-money-gen] Missing documentation for:
  2410. 494.32 s [really-safe-money-gen] Module header
  2411. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRate.Gen'
  2412. 494.32 s [really-safe-money-gen] Missing documentation for:
  2413. 494.32 s [really-safe-money-gen] Module header
  2414. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRateOf.Gen'
  2415. 494.32 s [really-safe-money-gen] Missing documentation for:
  2416. 494.32 s [really-safe-money-gen] Module header
  2417. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.QuantisationFactor.Gen'
  2418. 494.32 s [really-safe-money-gen] Missing documentation for:
  2419. 494.32 s [really-safe-money-gen] Module header
  2420. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.Currency.Gen'
  2421. 494.32 s [really-safe-money-gen] Missing documentation for:
  2422. 494.32 s [really-safe-money-gen] Module header
  2423. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAmount.Gen'
  2424. 494.32 s [really-safe-money-gen] Missing documentation for:
  2425. 494.32 s [really-safe-money-gen] Module header
  2426. 494.32 s [really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAccount.Gen'
  2427. 494.32 s [really-safe-money-gen] Missing documentation for:
  2428. 494.32 s [really-safe-money-gen] Module header
  2429. 494.32 s [really-safe-money-gen] Warning: Money.Gen: Could not find documentation for exported module: Money.Gen
  2430. 494.32 s [really-safe-money-gen] 90% ( 10 / 11) in 'Money.Gen'
  2431. 494.32 s [really-safe-money-gen] Missing documentation for:
  2432. 494.32 s [really-safe-money-gen] Module header
  2433. 494.32 s [really-safe-money-gen] 0% ( 0 / 2) in 'Numeric.DecimalLiteral.Gen'
  2434. 494.32 s [really-safe-money-gen] Missing documentation for:
  2435. 494.32 s [really-safe-money-gen] Module header
  2436. 494.32 s [really-safe-money-gen] shrinkSign (src/Numeric/DecimalLiteral/Gen.hs:16)
  2437. 494.48 s [really-safe-money-gen] Warning: Money.Amount.Gen: could not find link destinations for:
  2438. 494.48 s [really-safe-money-gen] - Money.Amount.Amount
  2439. 494.48 s [really-safe-money-gen] - Money.Amount.Distribution
  2440. 494.48 s [really-safe-money-gen] - Money.Amount.Rounding
  2441. 494.48 s [really-safe-money-gen] Warning: Money.Account.Gen: could not find link destinations for:
  2442. 494.48 s [really-safe-money-gen] - Money.Account.Account
  2443. 494.48 s [really-safe-money-gen] Warning: Money.AccountOf.Gen: could not find link destinations for:
  2444. 494.48 s [really-safe-money-gen] - Money.AccountOf.AccountOf
  2445. 494.48 s [really-safe-money-gen] Warning: Money.AmountOf.Gen: could not find link destinations for:
  2446. 494.48 s [really-safe-money-gen] - Money.AmountOf.AmountOf
  2447. 494.48 s [really-safe-money-gen] Warning: Money.ConversionRate.Gen: could not find link destinations for:
  2448. 494.48 s [really-safe-money-gen] - Money.ConversionRate.ConversionRate
  2449. 494.48 s [really-safe-money-gen] Warning: Money.ConversionRateOf.Gen: could not find link destinations for:
  2450. 494.48 s [really-safe-money-gen] - Money.ConversionRateOf.ConversionRateOf
  2451. 494.48 s [really-safe-money-gen] Warning: Money.QuantisationFactor.Gen: could not find link destinations for:
  2452. 494.48 s [really-safe-money-gen] - Money.QuantisationFactor.QuantisationFactor
  2453. 494.48 s [really-safe-money-gen] Warning: Money.Currency.Gen: could not find link destinations for:
  2454. 494.48 s [really-safe-money-gen] - Money.Currency.Currency
  2455. 494.48 s [really-safe-money-gen] Warning: Money.MultiAmount.Gen: could not find link destinations for:
  2456. 494.48 s [really-safe-money-gen] - Money.MultiAmount.MultiAmount
  2457. 494.48 s [really-safe-money-gen] Warning: Money.MultiAccount.Gen: could not find link destinations for:
  2458. 494.48 s [really-safe-money-gen] - Money.MultiAccount.MultiAccount
  2459. 494.48 s [really-safe-money-gen] Warning: Numeric.DecimalLiteral.Gen: could not find link destinations for:
  2460. 494.48 s [really-safe-money-gen] - Numeric.DecimalLiteral.DecimalLiteral
  2461. 498.65 s [really-safe-money-gen] Documentation created: dist/doc/html/really-safe-money-gen/,
  2462. 498.65 s [really-safe-money-gen] dist/doc/html/really-safe-money-gen/really-safe-money-gen.txt
  2463. 498.73 s [really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
  2464. 498.73 s [really-safe-money-gen] Phase: installPhase
  2465. 498.82 s [really-safe-money-gen] Installing library in /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR
  2466. 499.15 s [really-safe-money-gen] Phase: fixupPhase
  2467. 499.17 s [really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0
  2468. 499.17 s [really-safe-money-gen] shrinking /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSreally-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR-ghc9.10.3.so
  2469. 499.19 s [really-safe-money-gen] checking for references to /build/ in /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0...
  2470. 499.22 s [really-safe-money-gen] patching script interpreter paths in /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0
  2471. 499.22 s [really-safe-money-gen] stripping (with command strip and flags -S -p) in /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0/lib
  2472. 499.27 s [really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc
  2473. 499.29 s [really-safe-money-gen] checking for references to /build/ in /nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc...
  2474. 499.31 s [really-safe-money-gen] patching script interpreter paths in /nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc
  2475. 499.31 s [really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/abzs9d51wjw5m3mjrrgh8bbffm679daj-really-safe-money-gen-0.0.0.0-report
  2476. 499.32 s [really-safe-money-gen] checking for references to /build/ in /nix/store/abzs9d51wjw5m3mjrrgh8bbffm679daj-really-safe-money-gen-0.0.0.0-report...
  2477. 499.35 s [really-safe-money-gen] patching script interpreter paths in /nix/store/abzs9d51wjw5m3mjrrgh8bbffm679daj-really-safe-money-gen-0.0.0.0-report
  2478. 499.49 s [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0 /nix/store/abzs9d51wjw5m3mjrrgh8bbffm679daj-really-safe-money-gen-0.0.0.0-report /nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc
  2479. 500.06 s [post-build-hook] Pushing 8 paths (181 are already present) using zstd to cache sydtest ⏳
  2480. 500.06 s [post-build-hook]
  2481. 500.42 s [post-build-hook] Pushing /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0 (1.27 MiB)
  2482. 500.53 s [post-build-hook] Pushing /nix/store/b84444n2il2fkz6n6wbincfddc0hgg1k-genvalidity-containers-1.0.0.2 (868.72 KiB)
  2483. 500.53 s [post-build-hook] Pushing /nix/store/8277qhdm7ld6sxwga3d8a7pzsz6lxy72-genvalidity-1.1.1.0 (3.07 MiB)
  2484. 500.54 s [post-build-hook] Pushing /nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc (288.17 KiB)
  2485. 500.54 s [post-build-hook] Pushing /nix/store/r40wa6qpnxgljdybl25rlh3x84azspl4-genvalidity-1.1.1.0-doc (890.45 KiB)
  2486. 500.54 s [post-build-hook] Pushing /nix/store/abzs9d51wjw5m3mjrrgh8bbffm679daj-really-safe-money-gen-0.0.0.0-report (762.70 KiB)
  2487. 500.55 s [post-build-hook] Pushing /nix/store/xsvws95rpgksxq95mxhmz5w6gb0gwvyp-really-safe-money-0.0.0.0 (104.51 MiB)
  2488. 500.56 s [post-build-hook] Pushing /nix/store/r5wk7b4f69qw0i0jqv37zakfsghxdkha-genvalidity-containers-1.0.0.2-doc (305.05 KiB)
  2489. 503.06 s [post-build-hook]
  2490. 503.06 s [post-build-hook] All done.
  2491. 503.08 s [post-build-hook] Uploading to the NixCI staging cache: /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0 /nix/store/abzs9d51wjw5m3mjrrgh8bbffm679daj-really-safe-money-gen-0.0.0.0-report /nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc
  2492. 503.12 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2493. 503.45 s [post-build-hook] copying 3 paths...
  2494. 503.45 s [post-build-hook] copying path '/nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc' to 'https://cache.staging.nix-ci.com'...
  2495. 503.45 s [post-build-hook] copying path '/nix/store/abzs9d51wjw5m3mjrrgh8bbffm679daj-really-safe-money-gen-0.0.0.0-report' to 'https://cache.staging.nix-ci.com'...
  2496. 503.55 s [post-build-hook] copying path '/nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
  2497. 504.00 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2498. 504.21 s [post-build-hook] copying 1 paths...
  2499. 504.24 s [post-build-hook] copying path '/nix/store/5yphx350k5jx3xf3y72g63mvdlzxcjks-really-safe-money-gen-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
  2500. 504.40 s Progress: 1 of 2 built, 7 of 7 downloaded from cache