0.02 s
$ /nix/store/vzx1mi9c0xfadmsm9dhd83d005cb1qs9-coreutils-9.8/bin/timeout --kill-after=15s 7200s /nix/store/99b1z08awpxj8b6mzggn59gp1shljnff-nix-2.34.5/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link git+https://github.com/NorfairKing/sydtest?ref=per-test-coverage-manifest&rev=0c98514f61d4674ccdd44033a56a0970c338d346#checks.x86_64-linux.mutation-really-safe-money --print-build-logs
1.60 s
warning: ignoring untrusted flake configuration setting 'extra-substituters'.
1.60 s
Pass '--accept-flake-config' to trust it
1.60 s
warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'.
1.60 s
Pass '--accept-flake-config' to trust it
1.62 s
error (ignored): SQLite database '/var/cache/private/nix-ci-worker/eval-cache-v6/0440c31626b8b260f59f5aba34d57ace51c68d1a879d1dbc1e97a5aef9047188.sqlite ' is busy
3.08 s
3.61 s
Downloading cached really-safe-money-0.0.0.0-manifest from https://cache.staging.nix-ci.com
3.61 s
Downloading cached really-safe-money-gen-source from https://cache.staging.nix-ci.com
3.61 s
Downloading cached really-safe-money from https://cache.staging.nix-ci.com
3.61 s
Downloading cached genvalidity-sydtest-1.0.1.0-doc from https://cache.staging.nix-ci.com
3.61 s
Downloading cached genvalidity-vector-1.0.0.0-doc from https://cache.staging.nix-ci.com
3.63 s
Progress: 0 of 6 built, 1 of 7 downloaded from cache (4 downloading)
3.64 s
Progress: 0 of 5 built, 2 of 7 downloaded from cache (3 downloading)
3.74 s
Progress: 0 of 4 built, 3 of 7 downloaded from cache (2 downloading)
3.74 s
Downloading cached genvalidity-sydtest from https://cache.staging.nix-ci.com
3.74 s
Progress: 0 of 4 built, 4 of 7 downloaded from cache (2 downloading)
3.74 s
Downloading cached genvalidity-vector from https://cache.staging.nix-ci.com
4.19 s
Progress: 0 of 4 built, 5 of 7 downloaded from cache (2 downloading)
4.21 s
Progress: 0 of 3 built, 6 of 7 downloaded from cache (1 downloading)
4.24 s
Progress: 0 of 2 built, 7 of 7 downloaded from cache
4.62 s
Building really-safe-money-gen
5.02 s
[really-safe-money-gen] Phase: setupCompilerEnvironmentPhase
5.06 s
[really-safe-money-gen] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
5.53 s
[really-safe-money-gen] Phase: unpackPhase
5.53 s
[really-safe-money-gen] unpacking source archive /nix/store/63wmak6bzfj7m79zx305wv2mlkcngfia-really-safe-money-gen-source-0.0.0.0/really-safe-money-gen-0.0.0.0.tar.gz
5.54 s
[really-safe-money-gen] source root is really-safe-money-gen-0.0.0.0
5.55 s
[really-safe-money-gen] setting SOURCE_DATE_EPOCH to timestamp 1778584409 of file "really-safe-money-gen-0.0.0.0/test/Spec.hs"
5.55 s
[really-safe-money-gen] Phase: patchPhase
5.56 s
[really-safe-money-gen] Phase: compileBuildDriverPhase
5.57 s
[really-safe-money-gen] setupCompileFlags: -package-db=/build/tmp.P2VoRuZu5n/setup-package.conf.d -threaded
5.62 s
[really-safe-money-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.P2VoRuZu5n/Main.o )
5.67 s
[really-safe-money-gen] [2 of 2] Linking Setup
7.18 s
[really-safe-money-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
7.22 s
[really-safe-money-gen] Phase: configurePhase
7.22 s
[really-safe-money-gen] configureFlags: --verbose --prefix=/nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc/share/doc/really-safe-money-gen-0.0.0.0 --with-gcc=gcc --package-db=/build/tmp.P2VoRuZu5n/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
7.23 s
[really-safe-money-gen] Using Parsec parser
7.23 s
[really-safe-money-gen] Configuring really-safe-money-gen-0.0.0.0...
7.86 s
[really-safe-money-gen] Dependency QuickCheck: using QuickCheck-2.15.0.1
7.86 s
[really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
7.86 s
[really-safe-money-gen] Dependency genvalidity: using genvalidity-1.1.1.0
7.86 s
[really-safe-money-gen] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
7.86 s
[really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
7.86 s
[really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
7.86 s
[really-safe-money-gen] Dependency containers: using containers-0.7
7.86 s
[really-safe-money-gen] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
7.86 s
[really-safe-money-gen] Dependency genvalidity-vector: using genvalidity-vector-1.0.0.0
7.86 s
[really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
7.86 s
[really-safe-money-gen] Dependency really-safe-money-gen: using really-safe-money-gen-0.0.0.0
7.86 s
[really-safe-money-gen] Dependency sydtest: using sydtest-0.23.0.2
7.86 s
[really-safe-money-gen] Dependency vector: using vector-0.13.2.0
7.86 s
[really-safe-money-gen] Source component graph:
7.86 s
[really-safe-money-gen] component lib
7.86 s
[really-safe-money-gen] component test:really-safe-money-test dependency lib
7.86 s
[really-safe-money-gen] Configured component graph:
7.86 s
[really-safe-money-gen] component really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR
7.86 s
[really-safe-money-gen] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
7.86 s
[really-safe-money-gen] include base-4.20.2.0-64da
7.86 s
[really-safe-money-gen] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
7.86 s
[really-safe-money-gen] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
7.86 s
[really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
7.86 s
[really-safe-money-gen] component really-safe-money-gen-0.0.0.0-5RtWE2oTQ4oDcSh2XAEB3R-really-safe-money-test
7.86 s
[really-safe-money-gen] include base-4.20.2.0-64da
7.86 s
[really-safe-money-gen] include containers-0.7-504a
7.86 s
[really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-DnaceRcSjVA3T3KoaUTTYa
7.86 s
[really-safe-money-gen] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
7.86 s
[really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
7.86 s
[really-safe-money-gen] include really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR
7.86 s
[really-safe-money-gen] include sydtest-0.23.0.2-4ibn0aXkbvH1bwl6HX1vB8
7.86 s
[really-safe-money-gen] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
7.86 s
[really-safe-money-gen] Linked component graph:
7.86 s
[really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR
7.86 s
[really-safe-money-gen] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
7.86 s
[really-safe-money-gen] include base-4.20.2.0-64da
7.86 s
[really-safe-money-gen] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
7.86 s
[really-safe-money-gen] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
7.86 s
[really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
7.86 s
[really-safe-money-gen] Money.Account.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.Account.Gen,Money.AccountOf.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.AccountOf.Gen,Money.Amount.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.Amount.Gen,Money.AmountOf.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.AmountOf.Gen,Money.ConversionRate.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.ConversionRate.Gen,Money.ConversionRateOf.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.ConversionRateOf.Gen,Money.Currency.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.Currency.Gen,Money.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.Gen,Money.MultiAccount.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.MultiAccount.Gen,Money.MultiAmount.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.MultiAmount.Gen,Money.QuantisationFactor.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Money.QuantisationFactor.Gen,Numeric.DecimalLiteral.Gen=really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR:Numeric.DecimalLiteral.Gen
7.86 s
[really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-5RtWE2oTQ4oDcSh2XAEB3R-really-safe-money-test
7.86 s
[really-safe-money-gen] include base-4.20.2.0-64da
7.86 s
[really-safe-money-gen] include containers-0.7-504a
7.86 s
[really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-DnaceRcSjVA3T3KoaUTTYa
7.86 s
[really-safe-money-gen] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
7.86 s
[really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
7.86 s
[really-safe-money-gen] include really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR
7.86 s
[really-safe-money-gen] include sydtest-0.23.0.2-4ibn0aXkbvH1bwl6HX1vB8
7.86 s
[really-safe-money-gen] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
7.86 s
[really-safe-money-gen] Ready component graph:
7.86 s
[really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR
7.86 s
[really-safe-money-gen] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
7.86 s
[really-safe-money-gen] depends base-4.20.2.0-64da
7.86 s
[really-safe-money-gen] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
7.86 s
[really-safe-money-gen] depends genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
7.86 s
[really-safe-money-gen] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
7.86 s
[really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-5RtWE2oTQ4oDcSh2XAEB3R-really-safe-money-test
7.86 s
[really-safe-money-gen] depends base-4.20.2.0-64da
7.86 s
[really-safe-money-gen] depends containers-0.7-504a
7.86 s
[really-safe-money-gen] depends genvalidity-sydtest-1.0.1.0-DnaceRcSjVA3T3KoaUTTYa
7.86 s
[really-safe-money-gen] depends genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
7.86 s
[really-safe-money-gen] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
7.86 s
[really-safe-money-gen] depends really-safe-money-gen-0.0.0.0-KTRUiMX2w2iErncFnvROeR
7.86 s
[really-safe-money-gen] depends sydtest-0.23.0.2-4ibn0aXkbvH1bwl6HX1vB8
7.86 s
[really-safe-money-gen] depends vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
7.86 s
[really-safe-money-gen] Using Cabal-3.12.1.0 compiled by ghc-9.10
7.86 s
[really-safe-money-gen] Using compiler: ghc-9.10.3
7.86 s
[really-safe-money-gen] Using install prefix:
7.86 s
[really-safe-money-gen] /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0
7.86 s
[really-safe-money-gen] Executables installed in:
7.86 s
[really-safe-money-gen] /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0/bin
7.86 s
[really-safe-money-gen] Libraries installed in:
7.86 s
[really-safe-money-gen] /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
7.86 s
[really-safe-money-gen] Dynamic Libraries installed in:
7.86 s
[really-safe-money-gen] /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
7.86 s
[really-safe-money-gen] Private executables installed in:
7.86 s
[really-safe-money-gen] /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
7.86 s
[really-safe-money-gen] Data files installed in:
7.86 s
[really-safe-money-gen] /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
7.86 s
[really-safe-money-gen] Documentation installed in:
7.86 s
[really-safe-money-gen] /nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc/share/doc/really-safe-money-gen-0.0.0.0
7.86 s
[really-safe-money-gen] Configuration files installed in:
7.86 s
[really-safe-money-gen] /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0/etc
7.86 s
[really-safe-money-gen] No alex found
7.86 s
[really-safe-money-gen] Using ar found on system at:
7.86 s
[really-safe-money-gen] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
7.86 s
[really-safe-money-gen] No c2hs found
7.86 s
[really-safe-money-gen] No cpphs found
7.86 s
[really-safe-money-gen] No doctest found
7.86 s
[really-safe-money-gen] Using gcc version 14.3.0 given by user at:
7.86 s
[really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
7.86 s
[really-safe-money-gen] Using ghc version 9.10.3 found on system at:
7.87 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
7.87 s
[really-safe-money-gen] Using ghc-pkg version 9.10.3 found on system at:
7.87 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
7.87 s
[really-safe-money-gen] No ghcjs found
7.87 s
[really-safe-money-gen] No ghcjs-pkg found
7.87 s
[really-safe-money-gen] No greencard found
7.87 s
[really-safe-money-gen] Using haddock version 2.31.1 found on system at:
7.87 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
7.87 s
[really-safe-money-gen] No happy found
7.87 s
[really-safe-money-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
7.87 s
[really-safe-money-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
7.87 s
[really-safe-money-gen] No hmake found
7.87 s
[really-safe-money-gen] Using hpc version 0.69 found on system at:
7.87 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
7.87 s
[really-safe-money-gen] Using hsc2hs version 0.68.10 found on system at:
7.87 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
7.87 s
[really-safe-money-gen] Using hscolour version 1.25 found on system at:
7.87 s
[really-safe-money-gen] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
7.87 s
[really-safe-money-gen] No jhc found
7.87 s
[really-safe-money-gen] Using ld found on system at:
7.87 s
[really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
7.87 s
[really-safe-money-gen] No pkg-config found
7.87 s
[really-safe-money-gen] Using runghc version 9.10.3 found on system at:
7.87 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
7.87 s
[really-safe-money-gen] Using strip version 2.44 found on system at:
7.87 s
[really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
7.87 s
[really-safe-money-gen] Using tar found on system at:
7.87 s
[really-safe-money-gen] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
7.87 s
[really-safe-money-gen] No uhc found
8.24 s
[really-safe-money-gen] Phase: buildPhase
8.31 s
[really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
8.32 s
[really-safe-money-gen] Building library for really-safe-money-gen-0.0.0.0...
8.64 s
[really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, dist/build/Money/Amount/Gen.o, dist/build/Money/Amount/Gen.dyn_o )
8.94 s
[really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, dist/build/Money/Account/Gen.o, dist/build/Money/Account/Gen.dyn_o )
9.11 s
[really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, dist/build/Money/AccountOf/Gen.o, dist/build/Money/AccountOf/Gen.dyn_o )
9.16 s
[really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, dist/build/Money/AmountOf/Gen.o, dist/build/Money/AmountOf/Gen.dyn_o )
9.16 s
[really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, dist/build/Money/ConversionRate/Gen.o, dist/build/Money/ConversionRate/Gen.dyn_o )
9.16 s
[really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, dist/build/Money/ConversionRateOf/Gen.o, dist/build/Money/ConversionRateOf/Gen.dyn_o )
9.16 s
[really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, dist/build/Money/QuantisationFactor/Gen.o, dist/build/Money/QuantisationFactor/Gen.dyn_o )
9.16 s
[really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, dist/build/Money/Currency/Gen.o, dist/build/Money/Currency/Gen.dyn_o )
9.16 s
[really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, dist/build/Money/MultiAmount/Gen.o, dist/build/Money/MultiAmount/Gen.dyn_o )
9.17 s
[really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, dist/build/Money/MultiAccount/Gen.o, dist/build/Money/MultiAccount/Gen.dyn_o )
9.22 s
[really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, dist/build/Money/Gen.o, dist/build/Money/Gen.dyn_o )
9.30 s
[really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, dist/build/Numeric/DecimalLiteral/Gen.o, dist/build/Numeric/DecimalLiteral/Gen.dyn_o )
9.30 s
[really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, dist/build/Paths_really_safe_money_gen.o, dist/build/Paths_really_safe_money_gen.dyn_o )
9.46 s
[really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, dist/build/Money/Amount/Gen.p_o )
9.99 s
[really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, dist/build/Money/Account/Gen.p_o )
10.14 s
[really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, dist/build/Money/AccountOf/Gen.p_o )
10.27 s
[really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, dist/build/Money/AmountOf/Gen.p_o )
10.32 s
[really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, dist/build/Money/ConversionRate/Gen.p_o )
10.32 s
[really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, dist/build/Money/ConversionRateOf/Gen.p_o )
10.32 s
[really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, dist/build/Money/QuantisationFactor/Gen.p_o )
10.32 s
[really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, dist/build/Money/Currency/Gen.p_o )
10.32 s
[really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, dist/build/Money/MultiAmount/Gen.p_o )
10.32 s
[really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, dist/build/Money/MultiAccount/Gen.p_o )
10.32 s
[really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, dist/build/Money/Gen.p_o )
10.41 s
[really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, dist/build/Numeric/DecimalLiteral/Gen.p_o )
10.41 s
[really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, dist/build/Paths_really_safe_money_gen.p_o )
11.86 s
[really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
11.86 s
[really-safe-money-gen] Building test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
12.02 s
[really-safe-money-gen] [ 1 of 14] Compiling Money.AccountSpec ( test/Money/AccountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AccountSpec.o )
14.66 s
[really-safe-money-gen] [ 2 of 14] Compiling Money.AmountSpec ( test/Money/AmountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AmountSpec.o )
14.81 s
[really-safe-money-gen] [ 3 of 14] Compiling Money.ConversionRateSpec ( test/Money/ConversionRateSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/ConversionRateSpec.o )
14.81 s
[really-safe-money-gen] [ 4 of 14] Compiling Money.Currency.TestUtils ( test/Money/Currency/TestUtils.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/Currency/TestUtils.o )
14.81 s
[really-safe-money-gen] [ 5 of 14] Compiling Money.ConversionRateOfSpec ( test/Money/ConversionRateOfSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/ConversionRateOfSpec.o )
14.81 s
[really-safe-money-gen] [ 6 of 14] Compiling Money.AmountOfSpec ( test/Money/AmountOfSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AmountOfSpec.o )
14.81 s
[really-safe-money-gen] [ 7 of 14] Compiling Money.AccountOfSpec ( test/Money/AccountOfSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AccountOfSpec.o )
14.81 s
[really-safe-money-gen] [ 8 of 14] Compiling Money.CurrencySpec ( test/Money/CurrencySpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/CurrencySpec.o )
14.81 s
[really-safe-money-gen] [ 9 of 14] Compiling Money.MultiAccountSpec ( test/Money/MultiAccountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/MultiAccountSpec.o )
14.81 s
[really-safe-money-gen] [10 of 14] Compiling Money.MultiAmountSpec ( test/Money/MultiAmountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/MultiAmountSpec.o )
14.81 s
[really-safe-money-gen] [11 of 14] Compiling Money.QuantisationFactorSpec ( test/Money/QuantisationFactorSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/QuantisationFactorSpec.o )
14.81 s
[really-safe-money-gen] [12 of 14] Compiling Numeric.DecimalLiteralSpec ( test/Numeric/DecimalLiteralSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Numeric/DecimalLiteralSpec.o )
14.81 s
[really-safe-money-gen] [13 of 14] Compiling Main ( test/Spec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Main.o )
14.87 s
[really-safe-money-gen] [14 of 14] Compiling Paths_really_safe_money_gen ( dist/build/really-safe-money-test/autogen/Paths_really_safe_money_gen.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Paths_really_safe_money_gen.o )
15.18 s
[really-safe-money-gen] [15 of 15] Linking dist/build/really-safe-money-test/really-safe-money-test
16.99 s
[really-safe-money-gen] Phase: checkPhase
17.01 s
[really-safe-money-gen] mutation-nix: collecting per-test coverage
389.00 s
[really-safe-money-gen] mutation-nix: running mutations
389.20 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:116:45-46:
389.22 s
[really-safe-money-gen] @@ -113,7 +113,7 @@
389.22 s
[really-safe-money-gen] -- >>> invert (ConversionRate (1 % 2))
389.22 s
[really-safe-money-gen] -- ConversionRate {unConversionRate = 2 % 1}
389.22 s
[really-safe-money-gen] invert :: ConversionRate -> ConversionRate
389.23 s
[really-safe-money-gen] -invert (ConversionRate r) = ConversionRate (1 / r)
389.23 s
[really-safe-money-gen] +invert (ConversionRate r) = ConversionRate (0 / r)
389.23 s
[really-safe-money-gen]
389.23 s
[really-safe-money-gen] -- | Compose two conversion rates
389.23 s
[really-safe-money-gen] --
389.23 s
[really-safe-money-gen]
389.31 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:116:45-46:
389.31 s
[really-safe-money-gen] @@ -113,7 +113,7 @@
389.31 s
[really-safe-money-gen] -- >>> invert (ConversionRate (1 % 2))
389.31 s
[really-safe-money-gen] -- ConversionRate {unConversionRate = 2 % 1}
389.31 s
[really-safe-money-gen] invert :: ConversionRate -> ConversionRate
389.31 s
[really-safe-money-gen] -invert (ConversionRate r) = ConversionRate (1 / r)
389.31 s
[really-safe-money-gen] +invert (ConversionRate r) = ConversionRate (-1 / r)
389.31 s
[really-safe-money-gen]
389.31 s
[really-safe-money-gen] -- | Compose two conversion rates
389.31 s
[really-safe-money-gen] --
389.31 s
[really-safe-money-gen]
389.41 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28:
389.41 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
389.41 s
[really-safe-money-gen]
389.41 s
[really-safe-money-gen] -- | One-to-one conversion rate
389.41 s
[really-safe-money-gen] oneToOne :: ConversionRate
389.41 s
[really-safe-money-gen] -oneToOne = ConversionRate 1
389.41 s
[really-safe-money-gen] +oneToOne = ConversionRate 0
389.41 s
[really-safe-money-gen]
389.41 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
389.41 s
[really-safe-money-gen] --
389.41 s
[really-safe-money-gen]
389.54 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28:
389.54 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
389.54 s
[really-safe-money-gen]
389.54 s
[really-safe-money-gen] -- | One-to-one conversion rate
389.54 s
[really-safe-money-gen] oneToOne :: ConversionRate
389.54 s
[really-safe-money-gen] -oneToOne = ConversionRate 1
389.54 s
[really-safe-money-gen] +oneToOne = ConversionRate -1
389.55 s
[really-safe-money-gen]
389.55 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
389.55 s
[really-safe-money-gen] --
389.55 s
[really-safe-money-gen]
389.68 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:72:25-26:
389.68 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
389.68 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
389.68 s
[really-safe-money-gen] -- Nothing
389.68 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
389.68 s
[really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
389.68 s
[really-safe-money-gen] +fromRational r = if r < 1 then Nothing else fromRatio (realToFrac r)
389.68 s
[really-safe-money-gen]
389.68 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
389.68 s
[really-safe-money-gen] --
389.68 s
[really-safe-money-gen]
389.84 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26:
389.84 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
389.84 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
389.84 s
[really-safe-money-gen] -- Nothing
389.84 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
389.84 s
[really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
389.84 s
[really-safe-money-gen] +fromRational r = if True then Nothing else fromRatio (realToFrac r)
389.84 s
[really-safe-money-gen]
389.84 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
389.84 s
[really-safe-money-gen] --
389.84 s
[really-safe-money-gen]
390.00 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26:
390.00 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
390.00 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
390.00 s
[really-safe-money-gen] -- Nothing
390.00 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
390.00 s
[really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
390.01 s
[really-safe-money-gen] +fromRational r = if False then Nothing else fromRatio (realToFrac r)
390.01 s
[really-safe-money-gen]
390.01 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
390.01 s
[really-safe-money-gen] --
390.01 s
[really-safe-money-gen]
390.17 s
[really-safe-money-gen] Testing mutation Negate at src/Money/ConversionRate.hs:72:21-26:
390.17 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
390.17 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
390.17 s
[really-safe-money-gen] -- Nothing
390.17 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
390.17 s
[really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
390.17 s
[really-safe-money-gen] +fromRational r = if not (r < 0) then Nothing else fromRatio (realToFrac r)
390.18 s
[really-safe-money-gen]
390.18 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
390.18 s
[really-safe-money-gen] --
390.18 s
[really-safe-money-gen]
390.34 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/ConversionRate.hs:72:18-69:
390.34 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
390.34 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
390.34 s
[really-safe-money-gen] -- Nothing
390.34 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
390.34 s
[really-safe-money-gen] -fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
390.35 s
[really-safe-money-gen] +fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
390.35 s
[really-safe-money-gen]
390.35 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
390.35 s
[really-safe-money-gen] --
390.35 s
[really-safe-money-gen]
390.51 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:38:56-57:
390.51 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
390.51 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
390.51 s
[really-safe-money-gen] mconcat
390.51 s
[really-safe-money-gen] [ genericValidate cr,
390.51 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
390.51 s
[really-safe-money-gen] + declare "The rate is nonzero" $ numerator r /= 1
390.51 s
[really-safe-money-gen] ]
390.51 s
[really-safe-money-gen]
390.51 s
[really-safe-money-gen] instance NFData ConversionRate
390.51 s
[really-safe-money-gen]
390.61 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57:
390.61 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
390.61 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
390.61 s
[really-safe-money-gen] mconcat
390.61 s
[really-safe-money-gen] [ genericValidate cr,
390.61 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
390.61 s
[really-safe-money-gen] + declare "The rate is nonzero" $ True
390.61 s
[really-safe-money-gen] ]
390.61 s
[really-safe-money-gen]
390.61 s
[really-safe-money-gen] instance NFData ConversionRate
390.61 s
[really-safe-money-gen]
400.10 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28:
400.10 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] -- | One-to-one conversion rate
400.12 s
[really-safe-money-gen] oneToOne :: ConversionRate
400.12 s
[really-safe-money-gen] -oneToOne = ConversionRate 1
400.12 s
[really-safe-money-gen] +oneToOne = ConversionRate 0
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
400.12 s
[really-safe-money-gen] --
400.12 s
[really-safe-money-gen] Tests:
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] Money.MultiAmountSpec
400.12 s
[really-safe-money-gen] convertAll
400.12 s
[really-safe-money-gen] ✓ produces valid results when converting two currencies to one 39.28 ms
400.12 s
[really-safe-money-gen] passed for all of 1000 inputs.
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] Examples: 1000
400.12 s
[really-safe-money-gen] Passed: 1
400.12 s
[really-safe-money-gen] Failed: 0
400.12 s
[really-safe-money-gen] Sum of test runtimes: 0.04 seconds
400.12 s
[really-safe-money-gen] Test suite took: 0.04 seconds
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28:
400.12 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] -- | One-to-one conversion rate
400.12 s
[really-safe-money-gen] oneToOne :: ConversionRate
400.12 s
[really-safe-money-gen] -oneToOne = ConversionRate 1
400.12 s
[really-safe-money-gen] +oneToOne = ConversionRate -1
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
400.12 s
[really-safe-money-gen] --
400.12 s
[really-safe-money-gen] Tests:
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] Money.MultiAmountSpec
400.12 s
[really-safe-money-gen] convertAll
400.12 s
[really-safe-money-gen] ✓ produces valid results when converting two currencies to one 39.05 ms
400.12 s
[really-safe-money-gen] passed for all of 1000 inputs.
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] Examples: 1000
400.12 s
[really-safe-money-gen] Passed: 1
400.12 s
[really-safe-money-gen] Failed: 0
400.12 s
[really-safe-money-gen] Sum of test runtimes: 0.04 seconds
400.12 s
[really-safe-money-gen] Test suite took: 0.04 seconds
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57:
400.12 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
400.12 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
400.12 s
[really-safe-money-gen] mconcat
400.12 s
[really-safe-money-gen] [ genericValidate cr,
400.12 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
400.12 s
[really-safe-money-gen] + declare "The rate is nonzero" $ True
400.12 s
[really-safe-money-gen] ]
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] instance NFData ConversionRate
400.12 s
[really-safe-money-gen] Tests:
400.12 s
[really-safe-money-gen]
400.12 s
[really-safe-money-gen] Money.ConversionRateSpec
400.12 s
[really-safe-money-gen] Rational
400.12 s
[really-safe-money-gen] fromRational
400.12 s
[really-safe-money-gen] ✓ roundtrips with toRational 75.47 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 99.39 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] Ratio
400.12 s
[really-safe-money-gen] fromRatio
400.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 74.80 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] ✓ roundtrips with toRatio 66.99 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] invert
400.12 s
[really-safe-money-gen] ✓ produces valid rates 70.94 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] DecimalLiteral
400.12 s
[really-safe-money-gen] fromDecimalLiteral
400.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 131.11 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 5381.62 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] compose
400.12 s
[really-safe-money-gen] ✓ produces valid rates 119.83 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] GenValid ConversionRate
400.12 s
[really-safe-money-gen] genValid :: Gen ConversionRate
400.12 s
[really-safe-money-gen] ✓ only generates valid 'ConversionRate's 61.99 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] Money.AccountSpec
400.12 s
[really-safe-money-gen] convert
400.12 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 90.86 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 273.42 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.02 ms
400.12 s
[really-safe-money-gen] rate
400.12 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 170.15 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 105.84 ms
400.12 s
[really-safe-money-gen] passed for all of 10000 inputs.
400.12 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.01 ms
400.12 s
[really-safe-money-gen] Money.AccountOfSpec
400.12 s
[really-safe-money-gen] USD
400.12 s
[really-safe-money-gen] USD
400.12 s
[really-safe-money-gen] convert
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 2.11 ms
400.12 s
[really-safe-money-gen] passed for all of 100 inputs.
400.12 s
[really-safe-money-gen] rate
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 0.54 ms
400.12 s
[really-safe-money-gen] passed for all of 100 inputs.
400.12 s
[really-safe-money-gen] BTC
400.12 s
[really-safe-money-gen] rate
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 0.53 ms
400.12 s
[really-safe-money-gen] passed for all of 100 inputs.
400.12 s
[really-safe-money-gen] convert
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 2.20 ms
400.12 s
[really-safe-money-gen] passed for all of 100 inputs.
400.12 s
[really-safe-money-gen] INR
400.12 s
[really-safe-money-gen] rate
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 0.50 ms
400.12 s
[really-safe-money-gen] passed for all of 100 inputs.
400.12 s
[really-safe-money-gen] convert
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 1.60 ms
400.12 s
[really-safe-money-gen] passed for all of 100 inputs.
400.12 s
[really-safe-money-gen] ADA
400.12 s
[really-safe-money-gen] rate
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 1.01 ms
400.12 s
[really-safe-money-gen] passed for all of 100 inputs.
400.12 s
[really-safe-money-gen] convert
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 1.73 ms
400.12 s
[really-safe-money-gen] passed for all of 100 inputs.
400.12 s
[really-safe-money-gen] CHF
400.12 s
[really-safe-money-gen] convert
400.12 s
[really-safe-money-gen] ✓ produces valid amounts 2.13 ms
400.12 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.52 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] INR
400.13 s
[really-safe-money-gen] USD
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.98 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.49 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] CHF
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.36 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.33 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] BTC
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.96 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.67 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] ADA
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.97 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.51 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] INR
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.78 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.49 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] CHF
400.13 s
[really-safe-money-gen] USD
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.48 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.90 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] BTC
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.70 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.51 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] ADA
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.96 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.49 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] CHF
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.48 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.72 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] INR
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.14 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.73 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] ADA
400.13 s
[really-safe-money-gen] CHF
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.40 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.25 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] INR
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.68 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.25 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] ADA
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.49 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.41 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] BTC
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.24 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.69 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] USD
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.28 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.38 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] BTC
400.13 s
[really-safe-money-gen] BTC
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.91 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.43 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] USD
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.68 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.41 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] ADA
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.44 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.91 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] INR
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.52 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.79 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] CHF
400.13 s
[really-safe-money-gen] rate
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 0.90 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] convert
400.13 s
[really-safe-money-gen] ✓ produces valid amounts 1.81 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] Money.ConversionRateOfSpec
400.13 s
[really-safe-money-gen] INR
400.13 s
[really-safe-money-gen] ADA
400.13 s
[really-safe-money-gen] Ratio
400.13 s
[really-safe-money-gen] fromRatio
400.13 s
[really-safe-money-gen] ✓ roundtrips with toRatio 1.09 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.81 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] GenValid (ConversionRateOf INR ADA)
400.13 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR ADA)
400.13 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR ADA)'s 0.67 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] Rational
400.13 s
[really-safe-money-gen] fromRational
400.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.10 ms
400.13 s
[really-safe-money-gen] passed for all of 100 inputs.
400.13 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.23 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] compose
400.14 s
[really-safe-money-gen] ✓ produces valid rates 1.03 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] invert
400.14 s
[really-safe-money-gen] ✓ produces valid rates 0.75 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] DecimalLiteral
400.14 s
[really-safe-money-gen] fromDecimalLiteral
400.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 67.03 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.41 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] BTC
400.14 s
[really-safe-money-gen] Ratio
400.14 s
[really-safe-money-gen] fromRatio
400.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.44 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.53 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] invert
400.14 s
[really-safe-money-gen] ✓ produces valid rates 0.51 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] compose
400.14 s
[really-safe-money-gen] ✓ produces valid rates 1.26 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] Rational
400.14 s
[really-safe-money-gen] fromRational
400.14 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.54 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.69 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] DecimalLiteral
400.14 s
[really-safe-money-gen] fromDecimalLiteral
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.40 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 69.67 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] GenValid (ConversionRateOf INR BTC)
400.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR BTC)
400.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR BTC)'s 0.67 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] CHF
400.14 s
[really-safe-money-gen] DecimalLiteral
400.14 s
[really-safe-money-gen] fromDecimalLiteral
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.23 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 67.96 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] Ratio
400.14 s
[really-safe-money-gen] fromRatio
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.07 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 1.21 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] Rational
400.14 s
[really-safe-money-gen] fromRational
400.14 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.03 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.11 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] invert
400.14 s
[really-safe-money-gen] ✓ produces valid rates 0.77 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] compose
400.14 s
[really-safe-money-gen] ✓ produces valid rates 1.50 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] GenValid (ConversionRateOf INR CHF)
400.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR CHF)
400.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR CHF)'s 0.65 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] USD
400.14 s
[really-safe-money-gen] GenValid (ConversionRateOf INR USD)
400.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR USD)
400.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR USD)'s 0.64 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] Rational
400.14 s
[really-safe-money-gen] fromRational
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.38 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.87 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] invert
400.14 s
[really-safe-money-gen] ✓ produces valid rates 0.76 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] Ratio
400.14 s
[really-safe-money-gen] fromRatio
400.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 1.01 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.63 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] compose
400.14 s
[really-safe-money-gen] ✓ produces valid rates 0.96 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] DecimalLiteral
400.14 s
[really-safe-money-gen] fromDecimalLiteral
400.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 73.02 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.11 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] INR
400.14 s
[really-safe-money-gen] Rational
400.14 s
[really-safe-money-gen] fromRational
400.14 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.25 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.03 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] GenValid (ConversionRateOf INR INR)
400.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR INR)
400.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR INR)'s 0.63 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] DecimalLiteral
400.14 s
[really-safe-money-gen] fromDecimalLiteral
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.58 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 69.47 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] compose
400.14 s
[really-safe-money-gen] ✓ produces valid rates 1.48 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] invert
400.14 s
[really-safe-money-gen] ✓ produces valid rates 0.78 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] Ratio
400.14 s
[really-safe-money-gen] fromRatio
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.73 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 1.06 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ADA
400.14 s
[really-safe-money-gen] USD
400.14 s
[really-safe-money-gen] compose
400.14 s
[really-safe-money-gen] ✓ produces valid rates 0.96 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] Ratio
400.14 s
[really-safe-money-gen] fromRatio
400.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.68 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 1.02 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.14 s
[really-safe-money-gen] invert
400.14 s
[really-safe-money-gen] ✓ produces valid rates 0.68 ms
400.14 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Rational
400.15 s
[really-safe-money-gen] fromRational
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.01 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.09 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA USD)
400.15 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA USD)
400.15 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA USD)'s 0.48 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] DecimalLiteral
400.15 s
[really-safe-money-gen] fromDecimalLiteral
400.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.65 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.90 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] CHF
400.15 s
[really-safe-money-gen] DecimalLiteral
400.15 s
[really-safe-money-gen] fromDecimalLiteral
400.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 56.01 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.85 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] compose
400.15 s
[really-safe-money-gen] ✓ produces valid rates 1.37 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Rational
400.15 s
[really-safe-money-gen] fromRational
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.11 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.05 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Ratio
400.15 s
[really-safe-money-gen] fromRatio
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.64 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.98 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA CHF)
400.15 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA CHF)
400.15 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA CHF)'s 0.44 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] invert
400.15 s
[really-safe-money-gen] ✓ produces valid rates 0.54 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ADA
400.15 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA ADA)
400.15 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA ADA)
400.15 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA ADA)'s 0.93 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] invert
400.15 s
[really-safe-money-gen] ✓ produces valid rates 0.50 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Ratio
400.15 s
[really-safe-money-gen] fromRatio
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.43 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.47 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] compose
400.15 s
[really-safe-money-gen] ✓ produces valid rates 1.37 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Rational
400.15 s
[really-safe-money-gen] fromRational
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.85 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.88 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] DecimalLiteral
400.15 s
[really-safe-money-gen] fromDecimalLiteral
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.28 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 61.86 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] BTC
400.15 s
[really-safe-money-gen] DecimalLiteral
400.15 s
[really-safe-money-gen] fromDecimalLiteral
400.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 56.37 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.60 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA BTC)
400.15 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA BTC)
400.15 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA BTC)'s 0.67 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] invert
400.15 s
[really-safe-money-gen] ✓ produces valid rates 0.55 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Rational
400.15 s
[really-safe-money-gen] fromRational
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.01 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.71 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] compose
400.15 s
[really-safe-money-gen] ✓ produces valid rates 0.72 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Ratio
400.15 s
[really-safe-money-gen] fromRatio
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.11 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.67 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] INR
400.15 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA INR)
400.15 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA INR)
400.15 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA INR)'s 0.64 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Rational
400.15 s
[really-safe-money-gen] fromRational
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.68 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.92 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Ratio
400.15 s
[really-safe-money-gen] fromRatio
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.52 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.48 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] DecimalLiteral
400.15 s
[really-safe-money-gen] fromDecimalLiteral
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.15 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 61.45 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] compose
400.15 s
[really-safe-money-gen] ✓ produces valid rates 1.28 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] invert
400.15 s
[really-safe-money-gen] ✓ produces valid rates 0.55 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] CHF
400.15 s
[really-safe-money-gen] BTC
400.15 s
[really-safe-money-gen] Rational
400.15 s
[really-safe-money-gen] fromRational
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.57 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.55 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] DecimalLiteral
400.15 s
[really-safe-money-gen] fromDecimalLiteral
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.18 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.36 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] compose
400.15 s
[really-safe-money-gen] ✓ produces valid rates 0.81 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Ratio
400.15 s
[really-safe-money-gen] fromRatio
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.96 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.47 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] invert
400.15 s
[really-safe-money-gen] ✓ produces valid rates 0.49 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF BTC)
400.15 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF BTC)
400.15 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF BTC)'s 0.46 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ADA
400.15 s
[really-safe-money-gen] DecimalLiteral
400.15 s
[really-safe-money-gen] fromDecimalLiteral
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.27 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 56.85 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] invert
400.15 s
[really-safe-money-gen] ✓ produces valid rates 0.52 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Ratio
400.15 s
[really-safe-money-gen] fromRatio
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.46 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.49 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] compose
400.15 s
[really-safe-money-gen] ✓ produces valid rates 1.15 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF ADA)
400.15 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF ADA)
400.15 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF ADA)'s 0.45 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Rational
400.15 s
[really-safe-money-gen] fromRational
400.15 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.54 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.03 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] USD
400.15 s
[really-safe-money-gen] invert
400.15 s
[really-safe-money-gen] ✓ produces valid rates 0.52 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF USD)
400.15 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF USD)
400.15 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF USD)'s 0.45 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] DecimalLiteral
400.15 s
[really-safe-money-gen] fromDecimalLiteral
400.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 57.71 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.97 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] compose
400.15 s
[really-safe-money-gen] ✓ produces valid rates 1.28 ms
400.15 s
[really-safe-money-gen] passed for all of 100 inputs.
400.15 s
[really-safe-money-gen] Rational
400.15 s
[really-safe-money-gen] fromRational
400.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.74 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.63 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Ratio
400.16 s
[really-safe-money-gen] fromRatio
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.40 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.83 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] CHF
400.16 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF CHF)
400.16 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF CHF)
400.16 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF CHF)'s 0.74 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] DecimalLiteral
400.16 s
[really-safe-money-gen] fromDecimalLiteral
400.16 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 57.90 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.02 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Rational
400.16 s
[really-safe-money-gen] fromRational
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.13 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.58 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] invert
400.16 s
[really-safe-money-gen] ✓ produces valid rates 0.54 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Ratio
400.16 s
[really-safe-money-gen] fromRatio
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.09 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.73 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] compose
400.16 s
[really-safe-money-gen] ✓ produces valid rates 1.00 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] INR
400.16 s
[really-safe-money-gen] Ratio
400.16 s
[really-safe-money-gen] fromRatio
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.17 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.44 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] compose
400.16 s
[really-safe-money-gen] ✓ produces valid rates 0.78 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] invert
400.16 s
[really-safe-money-gen] ✓ produces valid rates 0.88 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] DecimalLiteral
400.16 s
[really-safe-money-gen] fromDecimalLiteral
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.86 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 64.61 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF INR)
400.16 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF INR)
400.16 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF INR)'s 0.81 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Rational
400.16 s
[really-safe-money-gen] fromRational
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.00 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.30 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] USD
400.16 s
[really-safe-money-gen] CHF
400.16 s
[really-safe-money-gen] GenValid (ConversionRateOf USD CHF)
400.16 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD CHF)
400.16 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD CHF)'s 0.85 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] invert
400.16 s
[really-safe-money-gen] ✓ produces valid rates 0.73 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] DecimalLiteral
400.16 s
[really-safe-money-gen] fromDecimalLiteral
400.16 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 63.28 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.99 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Rational
400.16 s
[really-safe-money-gen] fromRational
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.14 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.91 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Ratio
400.16 s
[really-safe-money-gen] fromRatio
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.50 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.53 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] compose
400.16 s
[really-safe-money-gen] ✓ produces valid rates 1.24 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] USD
400.16 s
[really-safe-money-gen] Ratio
400.16 s
[really-safe-money-gen] fromRatio
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.45 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.53 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] DecimalLiteral
400.16 s
[really-safe-money-gen] fromDecimalLiteral
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.25 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.32 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] invert
400.16 s
[really-safe-money-gen] ✓ produces valid rates 0.85 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Rational
400.16 s
[really-safe-money-gen] fromRational
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.66 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.73 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] compose
400.16 s
[really-safe-money-gen] ✓ produces valid rates 1.25 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] GenValid (ConversionRateOf USD USD)
400.16 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD USD)
400.16 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD USD)'s 0.45 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] INR
400.16 s
[really-safe-money-gen] DecimalLiteral
400.16 s
[really-safe-money-gen] fromDecimalLiteral
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.30 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.65 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] compose
400.16 s
[really-safe-money-gen] ✓ produces valid rates 1.31 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Rational
400.16 s
[really-safe-money-gen] fromRational
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.62 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.76 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Ratio
400.16 s
[really-safe-money-gen] fromRatio
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.96 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.45 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] invert
400.16 s
[really-safe-money-gen] ✓ produces valid rates 0.56 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] GenValid (ConversionRateOf USD INR)
400.16 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD INR)
400.16 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD INR)'s 0.46 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] BTC
400.16 s
[really-safe-money-gen] Ratio
400.16 s
[really-safe-money-gen] fromRatio
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRatio 1.05 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.79 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] compose
400.16 s
[really-safe-money-gen] ✓ produces valid rates 1.10 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Rational
400.16 s
[really-safe-money-gen] fromRational
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.26 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.60 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] GenValid (ConversionRateOf USD BTC)
400.16 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD BTC)
400.16 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD BTC)'s 0.54 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] invert
400.16 s
[really-safe-money-gen] ✓ produces valid rates 1.14 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] DecimalLiteral
400.16 s
[really-safe-money-gen] fromDecimalLiteral
400.16 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 63.94 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.37 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ADA
400.16 s
[really-safe-money-gen] GenValid (ConversionRateOf USD ADA)
400.16 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD ADA)
400.16 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD ADA)'s 0.45 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] compose
400.16 s
[really-safe-money-gen] ✓ produces valid rates 0.96 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] DecimalLiteral
400.16 s
[really-safe-money-gen] fromDecimalLiteral
400.16 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.83 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.33 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] invert
400.16 s
[really-safe-money-gen] ✓ produces valid rates 1.23 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Ratio
400.16 s
[really-safe-money-gen] fromRatio
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.64 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.66 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] Rational
400.16 s
[really-safe-money-gen] fromRational
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.16 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.76 ms
400.16 s
[really-safe-money-gen] passed for all of 100 inputs.
400.16 s
[really-safe-money-gen] BTC
400.16 s
[really-safe-money-gen] ADA
400.16 s
[really-safe-money-gen] Ratio
400.16 s
[really-safe-money-gen] fromRatio
400.16 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.55 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.93 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] DecimalLiteral
400.17 s
[really-safe-money-gen] fromDecimalLiteral
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.97 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 60.20 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] compose
400.17 s
[really-safe-money-gen] ✓ produces valid rates 0.80 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] invert
400.17 s
[really-safe-money-gen] ✓ produces valid rates 0.55 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC ADA)
400.17 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC ADA)
400.17 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC ADA)'s 0.88 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] Rational
400.17 s
[really-safe-money-gen] fromRational
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.82 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.61 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] USD
400.17 s
[really-safe-money-gen] Rational
400.17 s
[really-safe-money-gen] fromRational
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.06 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.74 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] DecimalLiteral
400.17 s
[really-safe-money-gen] fromDecimalLiteral
400.17 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.34 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.93 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] Ratio
400.17 s
[really-safe-money-gen] fromRatio
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.73 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.15 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] compose
400.17 s
[really-safe-money-gen] ✓ produces valid rates 1.00 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] invert
400.17 s
[really-safe-money-gen] ✓ produces valid rates 0.75 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC USD)
400.17 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC USD)
400.17 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC USD)'s 1.05 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] INR
400.17 s
[really-safe-money-gen] compose
400.17 s
[really-safe-money-gen] ✓ produces valid rates 0.99 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC INR)
400.17 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC INR)
400.17 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC INR)'s 0.68 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] DecimalLiteral
400.17 s
[really-safe-money-gen] fromDecimalLiteral
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.65 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 69.91 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] invert
400.17 s
[really-safe-money-gen] ✓ produces valid rates 1.34 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] Rational
400.17 s
[really-safe-money-gen] fromRational
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.96 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.06 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] Ratio
400.17 s
[really-safe-money-gen] fromRatio
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.09 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.63 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] CHF
400.17 s
[really-safe-money-gen] compose
400.17 s
[really-safe-money-gen] ✓ produces valid rates 1.00 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC CHF)
400.17 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC CHF)
400.17 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC CHF)'s 0.96 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] DecimalLiteral
400.17 s
[really-safe-money-gen] fromDecimalLiteral
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.10 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 73.06 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] invert
400.17 s
[really-safe-money-gen] ✓ produces valid rates 0.81 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] Ratio
400.17 s
[really-safe-money-gen] fromRatio
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.79 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.67 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] Rational
400.17 s
[really-safe-money-gen] fromRational
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.44 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.15 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] BTC
400.17 s
[really-safe-money-gen] invert
400.17 s
[really-safe-money-gen] ✓ produces valid rates 0.81 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] Rational
400.17 s
[really-safe-money-gen] fromRational
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.43 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.73 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] compose
400.17 s
[really-safe-money-gen] ✓ produces valid rates 1.01 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC BTC)
400.17 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC BTC)
400.17 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC BTC)'s 0.97 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] DecimalLiteral
400.17 s
[really-safe-money-gen] fromDecimalLiteral
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.19 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 69.73 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] Ratio
400.17 s
[really-safe-money-gen] fromRatio
400.17 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.70 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.75 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] Money.AmountOfSpec
400.17 s
[really-safe-money-gen] USD
400.17 s
[really-safe-money-gen] CHF
400.17 s
[really-safe-money-gen] rate
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.29 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] convert
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.55 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] BTC
400.17 s
[really-safe-money-gen] convert
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.95 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] rate
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 0.77 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] INR
400.17 s
[really-safe-money-gen] convert
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.83 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] rate
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 0.76 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] USD
400.17 s
[really-safe-money-gen] rate
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 0.84 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] convert
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.77 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ADA
400.17 s
[really-safe-money-gen] convert
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.58 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] rate
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.21 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ADA
400.17 s
[really-safe-money-gen] BTC
400.17 s
[really-safe-money-gen] convert
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.54 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] rate
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 0.85 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] USD
400.17 s
[really-safe-money-gen] rate
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.17 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] convert
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.30 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] CHF
400.17 s
[really-safe-money-gen] convert
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.96 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] rate
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 0.92 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] ADA
400.17 s
[really-safe-money-gen] rate
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.22 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] convert
400.17 s
[really-safe-money-gen] ✓ produces valid amounts 1.28 ms
400.17 s
[really-safe-money-gen] passed for all of 100 inputs.
400.17 s
[really-safe-money-gen] INR
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.78 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.92 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] INR
400.18 s
[really-safe-money-gen] ADA
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.89 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 2.13 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] CHF
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.47 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.16 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] INR
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.86 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.44 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] BTC
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.29 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.70 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] USD
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.86 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.90 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] BTC
400.18 s
[really-safe-money-gen] INR
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.90 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 2.13 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] CHF
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 2.05 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.92 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] USD
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.73 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.41 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] ADA
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.11 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.93 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] BTC
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.10 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.62 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] CHF
400.18 s
[really-safe-money-gen] INR
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.29 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.59 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] USD
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.37 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 0.62 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] BTC
400.18 s
[really-safe-money-gen] convert
400.18 s
[really-safe-money-gen] ✓ produces valid amounts 1.45 ms
400.18 s
[really-safe-money-gen] passed for all of 100 inputs.
400.18 s
[really-safe-money-gen] rate
400.18 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57:
400.18 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
400.18 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
400.18 s
[really-safe-money-gen] mconcat
400.18 s
[really-safe-money-gen] [ genericValidate cr,
400.18 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
400.18 s
[really-safe-money-gen] + declare "The rate is nonzero" $ False
400.18 s
[really-safe-money-gen] ]
400.18 s
[really-safe-money-gen]
400.18 s
[really-safe-money-gen] instance NFData ConversionRate
400.18 s
[really-safe-money-gen]
409.47 s
[really-safe-money-gen] ✓ produces valid amounts 0.61 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] CHF
409.50 s
[really-safe-money-gen] convert
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 1.04 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] rate
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.98 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] ADA
409.50 s
[really-safe-money-gen] rate
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.60 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] convert
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 1.45 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] Money.AmountSpec
409.50 s
[really-safe-money-gen] rate
409.50 s
[really-safe-money-gen] ✓ produces valid conversion rates 151.40 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 282.99 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.01 ms
409.50 s
[really-safe-money-gen] convert
409.50 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 80.30 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.01 ms
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 267.38 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen]
409.50 s
[really-safe-money-gen]
409.50 s
[really-safe-money-gen]
409.50 s
[really-safe-money-gen] Examples: 202504
409.50 s
[really-safe-money-gen] Passed: 346
409.50 s
[really-safe-money-gen] Failed: 0
409.50 s
[really-safe-money-gen] Sum of test runtimes: 9.39 seconds
409.50 s
[really-safe-money-gen] Test suite took: 9.40 seconds
409.50 s
[really-safe-money-gen]
409.50 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57:
409.50 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
409.50 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
409.50 s
[really-safe-money-gen] mconcat
409.50 s
[really-safe-money-gen] [ genericValidate cr,
409.50 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
409.50 s
[really-safe-money-gen] + declare "The rate is nonzero" $ False
409.50 s
[really-safe-money-gen] ]
409.50 s
[really-safe-money-gen]
409.50 s
[really-safe-money-gen] instance NFData ConversionRate
409.50 s
[really-safe-money-gen] Tests:
409.50 s
[really-safe-money-gen]
409.50 s
[really-safe-money-gen] Money.ConversionRateSpec
409.50 s
[really-safe-money-gen] Rational
409.50 s
[really-safe-money-gen] fromRational
409.50 s
[really-safe-money-gen] ✓ roundtrips with toRational 80.09 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ produces valid conversion rates 101.03 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] Ratio
409.50 s
[really-safe-money-gen] fromRatio
409.50 s
[really-safe-money-gen] ✓ produces valid conversion rates 78.68 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ roundtrips with toRatio 62.26 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] invert
409.50 s
[really-safe-money-gen] ✓ produces valid rates 69.20 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] DecimalLiteral
409.50 s
[really-safe-money-gen] fromDecimalLiteral
409.50 s
[really-safe-money-gen] ✓ produces valid conversion rates 120.33 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 5351.50 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] compose
409.50 s
[really-safe-money-gen] ✓ produces valid rates 114.09 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] GenValid ConversionRate
409.50 s
[really-safe-money-gen] genValid :: Gen ConversionRate
409.50 s
[really-safe-money-gen] ✓ only generates valid 'ConversionRate's 61.83 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] Money.AccountSpec
409.50 s
[really-safe-money-gen] convert
409.50 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 84.27 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 264.65 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.02 ms
409.50 s
[really-safe-money-gen] rate
409.50 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 173.20 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ produces valid conversion rates 100.61 ms
409.50 s
[really-safe-money-gen] passed for all of 10000 inputs.
409.50 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.01 ms
409.50 s
[really-safe-money-gen] Money.AccountOfSpec
409.50 s
[really-safe-money-gen] USD
409.50 s
[really-safe-money-gen] USD
409.50 s
[really-safe-money-gen] convert
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 1.55 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] rate
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.40 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] BTC
409.50 s
[really-safe-money-gen] rate
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.53 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] convert
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 2.11 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] INR
409.50 s
[really-safe-money-gen] rate
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.52 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] convert
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 1.29 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] ADA
409.50 s
[really-safe-money-gen] rate
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.85 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] convert
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 1.34 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] CHF
409.50 s
[really-safe-money-gen] convert
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 1.43 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.50 s
[really-safe-money-gen] rate
409.50 s
[really-safe-money-gen] ✓ produces valid amounts 0.36 ms
409.50 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] INR
409.51 s
[really-safe-money-gen] USD
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.07 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.62 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] CHF
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.34 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.05 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] BTC
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.68 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.19 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] ADA
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.49 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.36 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] INR
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.01 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.65 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] CHF
409.51 s
[really-safe-money-gen] USD
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.36 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.08 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] BTC
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.55 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.36 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] ADA
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 2.05 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.54 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] CHF
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.53 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.87 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] INR
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.16 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.51 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] ADA
409.51 s
[really-safe-money-gen] CHF
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.89 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.32 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] INR
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.54 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 2.04 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] ADA
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.89 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.46 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] BTC
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.23 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.83 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] USD
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.61 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.48 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] BTC
409.51 s
[really-safe-money-gen] BTC
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.59 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.43 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] USD
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.70 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.39 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] ADA
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.44 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.88 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] INR
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.35 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.21 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] CHF
409.51 s
[really-safe-money-gen] rate
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 0.70 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] convert
409.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.21 ms
409.51 s
[really-safe-money-gen] passed for all of 100 inputs.
409.51 s
[really-safe-money-gen] Money.ConversionRateOfSpec
409.51 s
[really-safe-money-gen] INR
409.51 s
[really-safe-money-gen] ADA
409.51 s
[really-safe-money-gen] Ratio
409.51 s
[really-safe-money-gen] fromRatio
409.52 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.45 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.82 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] GenValid (ConversionRateOf INR ADA)
409.52 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR ADA)
409.52 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR ADA)'s 0.45 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] Rational
409.52 s
[really-safe-money-gen] fromRational
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.68 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.49 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] compose
409.52 s
[really-safe-money-gen] ✓ produces valid rates 1.23 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] invert
409.52 s
[really-safe-money-gen] ✓ produces valid rates 0.77 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] DecimalLiteral
409.52 s
[really-safe-money-gen] fromDecimalLiteral
409.52 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.34 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.56 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] BTC
409.52 s
[really-safe-money-gen] Ratio
409.52 s
[really-safe-money-gen] fromRatio
409.52 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.78 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.94 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] invert
409.52 s
[really-safe-money-gen] ✓ produces valid rates 0.88 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] compose
409.52 s
[really-safe-money-gen] ✓ produces valid rates 1.42 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] Rational
409.52 s
[really-safe-money-gen] fromRational
409.52 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.85 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.00 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] DecimalLiteral
409.52 s
[really-safe-money-gen] fromDecimalLiteral
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.55 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 63.43 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] GenValid (ConversionRateOf INR BTC)
409.52 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR BTC)
409.52 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR BTC)'s 0.69 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] CHF
409.52 s
[really-safe-money-gen] DecimalLiteral
409.52 s
[really-safe-money-gen] fromDecimalLiteral
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.10 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 64.81 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] Ratio
409.52 s
[really-safe-money-gen] fromRatio
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.68 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.65 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] Rational
409.52 s
[really-safe-money-gen] fromRational
409.52 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.18 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.98 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] invert
409.52 s
[really-safe-money-gen] ✓ produces valid rates 0.67 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] compose
409.52 s
[really-safe-money-gen] ✓ produces valid rates 1.16 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] GenValid (ConversionRateOf INR CHF)
409.52 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR CHF)
409.52 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR CHF)'s 0.49 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] USD
409.52 s
[really-safe-money-gen] GenValid (ConversionRateOf INR USD)
409.52 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR USD)
409.52 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR USD)'s 0.43 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] Rational
409.52 s
[really-safe-money-gen] fromRational
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.17 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.82 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] invert
409.52 s
[really-safe-money-gen] ✓ produces valid rates 0.79 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] Ratio
409.52 s
[really-safe-money-gen] fromRatio
409.52 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.99 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.67 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] compose
409.52 s
[really-safe-money-gen] ✓ produces valid rates 1.07 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] DecimalLiteral
409.52 s
[really-safe-money-gen] fromDecimalLiteral
409.52 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 69.65 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.13 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] INR
409.52 s
[really-safe-money-gen] Rational
409.52 s
[really-safe-money-gen] fromRational
409.52 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.21 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.92 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] GenValid (ConversionRateOf INR INR)
409.52 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR INR)
409.52 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR INR)'s 0.63 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.52 s
[really-safe-money-gen] DecimalLiteral
409.52 s
[really-safe-money-gen] fromDecimalLiteral
409.52 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.62 ms
409.52 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 69.75 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] compose
409.53 s
[really-safe-money-gen] ✓ produces valid rates 1.48 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] invert
409.53 s
[really-safe-money-gen] ✓ produces valid rates 0.76 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] Ratio
409.53 s
[really-safe-money-gen] fromRatio
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.64 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.98 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ADA
409.53 s
[really-safe-money-gen] USD
409.53 s
[really-safe-money-gen] compose
409.53 s
[really-safe-money-gen] ✓ produces valid rates 1.00 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] Ratio
409.53 s
[really-safe-money-gen] fromRatio
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.66 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ roundtrips with toRatio 1.01 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] invert
409.53 s
[really-safe-money-gen] ✓ produces valid rates 0.69 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] Rational
409.53 s
[really-safe-money-gen] fromRational
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.95 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.19 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA USD)
409.53 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA USD)
409.53 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA USD)'s 0.50 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] DecimalLiteral
409.53 s
[really-safe-money-gen] fromDecimalLiteral
409.53 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 67.15 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.20 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] CHF
409.53 s
[really-safe-money-gen] DecimalLiteral
409.53 s
[really-safe-money-gen] fromDecimalLiteral
409.53 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 64.41 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.19 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] compose
409.53 s
[really-safe-money-gen] ✓ produces valid rates 1.11 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] Rational
409.53 s
[really-safe-money-gen] fromRational
409.53 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.17 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.02 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] Ratio
409.53 s
[really-safe-money-gen] fromRatio
409.53 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.67 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.13 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA CHF)
409.53 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA CHF)
409.53 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA CHF)'s 0.64 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] invert
409.53 s
[really-safe-money-gen] ✓ produces valid rates 0.75 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ADA
409.53 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA ADA)
409.53 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA ADA)
409.53 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA ADA)'s 0.67 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] invert
409.53 s
[really-safe-money-gen] ✓ produces valid rates 1.01 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] Ratio
409.53 s
[really-safe-money-gen] fromRatio
409.53 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.50 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.66 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] compose
409.53 s
[really-safe-money-gen] ✓ produces valid rates 1.44 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] Rational
409.53 s
[really-safe-money-gen] fromRational
409.53 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.80 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.92 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] DecimalLiteral
409.53 s
[really-safe-money-gen] fromDecimalLiteral
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.46 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.74 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] BTC
409.53 s
[really-safe-money-gen] DecimalLiteral
409.53 s
[really-safe-money-gen] fromDecimalLiteral
409.53 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.00 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.47 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA BTC)
409.53 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA BTC)
409.53 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA BTC)'s 0.59 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] invert
409.53 s
[really-safe-money-gen] ✓ produces valid rates 0.67 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] Rational
409.53 s
[really-safe-money-gen] fromRational
409.53 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.55 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.27 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] compose
409.53 s
[really-safe-money-gen] ✓ produces valid rates 0.82 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] Ratio
409.53 s
[really-safe-money-gen] fromRatio
409.53 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.00 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.66 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.53 s
[really-safe-money-gen] INR
409.53 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA INR)
409.53 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA INR)
409.53 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA INR)'s 0.52 ms
409.53 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] Rational
409.54 s
[really-safe-money-gen] fromRational
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.79 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.03 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] Ratio
409.54 s
[really-safe-money-gen] fromRatio
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.49 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.61 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] DecimalLiteral
409.54 s
[really-safe-money-gen] fromDecimalLiteral
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.50 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.20 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] compose
409.54 s
[really-safe-money-gen] ✓ produces valid rates 1.25 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] invert
409.54 s
[really-safe-money-gen] ✓ produces valid rates 0.67 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] CHF
409.54 s
[really-safe-money-gen] BTC
409.54 s
[really-safe-money-gen] Rational
409.54 s
[really-safe-money-gen] fromRational
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.67 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.21 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] DecimalLiteral
409.54 s
[really-safe-money-gen] fromDecimalLiteral
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.97 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.30 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] compose
409.54 s
[really-safe-money-gen] ✓ produces valid rates 0.96 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] Ratio
409.54 s
[really-safe-money-gen] fromRatio
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.90 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.47 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] invert
409.54 s
[really-safe-money-gen] ✓ produces valid rates 0.55 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF BTC)
409.54 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF BTC)
409.54 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF BTC)'s 0.47 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ADA
409.54 s
[really-safe-money-gen] DecimalLiteral
409.54 s
[really-safe-money-gen] fromDecimalLiteral
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.20 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 55.73 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] invert
409.54 s
[really-safe-money-gen] ✓ produces valid rates 1.19 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] Ratio
409.54 s
[really-safe-money-gen] fromRatio
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.66 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.58 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] compose
409.54 s
[really-safe-money-gen] ✓ produces valid rates 1.25 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF ADA)
409.54 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF ADA)
409.54 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF ADA)'s 0.57 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] Rational
409.54 s
[really-safe-money-gen] fromRational
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.80 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.13 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] USD
409.54 s
[really-safe-money-gen] invert
409.54 s
[really-safe-money-gen] ✓ produces valid rates 0.58 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF USD)
409.54 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF USD)
409.54 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF USD)'s 0.57 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] DecimalLiteral
409.54 s
[really-safe-money-gen] fromDecimalLiteral
409.54 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.13 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.99 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] compose
409.54 s
[really-safe-money-gen] ✓ produces valid rates 1.38 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] Rational
409.54 s
[really-safe-money-gen] fromRational
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.83 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.73 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] Ratio
409.54 s
[really-safe-money-gen] fromRatio
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.93 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.44 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] CHF
409.54 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF CHF)
409.54 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF CHF)
409.54 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF CHF)'s 0.53 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] DecimalLiteral
409.54 s
[really-safe-money-gen] fromDecimalLiteral
409.54 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.30 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.01 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] Rational
409.54 s
[really-safe-money-gen] fromRational
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.13 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.67 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] invert
409.54 s
[really-safe-money-gen] ✓ produces valid rates 0.68 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] Ratio
409.54 s
[really-safe-money-gen] fromRatio
409.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.96 ms
409.54 s
[really-safe-money-gen] passed for all of 100 inputs.
409.54 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.54 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] compose
409.55 s
[really-safe-money-gen] ✓ produces valid rates 0.84 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] INR
409.55 s
[really-safe-money-gen] Ratio
409.55 s
[really-safe-money-gen] fromRatio
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.99 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.62 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] compose
409.55 s
[really-safe-money-gen] ✓ produces valid rates 0.74 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] invert
409.55 s
[really-safe-money-gen] ✓ produces valid rates 0.64 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] DecimalLiteral
409.55 s
[really-safe-money-gen] fromDecimalLiteral
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.31 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 61.23 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF INR)
409.55 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF INR)
409.55 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF INR)'s 0.47 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] Rational
409.55 s
[really-safe-money-gen] fromRational
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.84 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.80 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] USD
409.55 s
[really-safe-money-gen] CHF
409.55 s
[really-safe-money-gen] GenValid (ConversionRateOf USD CHF)
409.55 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD CHF)
409.55 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD CHF)'s 0.85 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] invert
409.55 s
[really-safe-money-gen] ✓ produces valid rates 0.65 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] DecimalLiteral
409.55 s
[really-safe-money-gen] fromDecimalLiteral
409.55 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 57.08 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.94 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] Rational
409.55 s
[really-safe-money-gen] fromRational
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.71 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.19 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] Ratio
409.55 s
[really-safe-money-gen] fromRatio
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.48 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.54 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] compose
409.55 s
[really-safe-money-gen] ✓ produces valid rates 1.25 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] USD
409.55 s
[really-safe-money-gen] Ratio
409.55 s
[really-safe-money-gen] fromRatio
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.58 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.51 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] DecimalLiteral
409.55 s
[really-safe-money-gen] fromDecimalLiteral
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.56 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.63 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] invert
409.55 s
[really-safe-money-gen] ✓ produces valid rates 1.21 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] Rational
409.55 s
[really-safe-money-gen] fromRational
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.68 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.84 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] compose
409.55 s
[really-safe-money-gen] ✓ produces valid rates 1.36 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] GenValid (ConversionRateOf USD USD)
409.55 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD USD)
409.55 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD USD)'s 0.47 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] INR
409.55 s
[really-safe-money-gen] DecimalLiteral
409.55 s
[really-safe-money-gen] fromDecimalLiteral
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.95 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.47 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] compose
409.55 s
[really-safe-money-gen] ✓ produces valid rates 1.19 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] Rational
409.55 s
[really-safe-money-gen] fromRational
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.57 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.82 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] Ratio
409.55 s
[really-safe-money-gen] fromRatio
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.96 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.56 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] invert
409.55 s
[really-safe-money-gen] ✓ produces valid rates 0.55 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] GenValid (ConversionRateOf USD INR)
409.55 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD INR)
409.55 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD INR)'s 0.60 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] BTC
409.55 s
[really-safe-money-gen] Ratio
409.55 s
[really-safe-money-gen] fromRatio
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.90 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.54 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] compose
409.55 s
[really-safe-money-gen] ✓ produces valid rates 0.88 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] Rational
409.55 s
[really-safe-money-gen] fromRational
409.55 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.14 ms
409.55 s
[really-safe-money-gen] passed for all of 100 inputs.
409.55 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.72 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] GenValid (ConversionRateOf USD BTC)
409.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD BTC)
409.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD BTC)'s 0.48 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] invert
409.56 s
[really-safe-money-gen] ✓ produces valid rates 1.11 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] DecimalLiteral
409.56 s
[really-safe-money-gen] fromDecimalLiteral
409.56 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 61.49 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.45 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ADA
409.56 s
[really-safe-money-gen] GenValid (ConversionRateOf USD ADA)
409.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD ADA)
409.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD ADA)'s 0.51 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] compose
409.56 s
[really-safe-money-gen] ✓ produces valid rates 0.89 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] DecimalLiteral
409.56 s
[really-safe-money-gen] fromDecimalLiteral
409.56 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 60.80 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.97 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] invert
409.56 s
[really-safe-money-gen] ✓ produces valid rates 1.10 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] Ratio
409.56 s
[really-safe-money-gen] fromRatio
409.56 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.50 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.62 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] Rational
409.56 s
[really-safe-money-gen] fromRational
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.17 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.58 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] BTC
409.56 s
[really-safe-money-gen] ADA
409.56 s
[really-safe-money-gen] Ratio
409.56 s
[really-safe-money-gen] fromRatio
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.53 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.45 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] DecimalLiteral
409.56 s
[really-safe-money-gen] fromDecimalLiteral
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.23 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 55.95 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] compose
409.56 s
[really-safe-money-gen] ✓ produces valid rates 0.88 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] invert
409.56 s
[really-safe-money-gen] ✓ produces valid rates 0.59 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC ADA)
409.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC ADA)
409.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC ADA)'s 1.02 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] Rational
409.56 s
[really-safe-money-gen] fromRational
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.82 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.76 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] USD
409.56 s
[really-safe-money-gen] Rational
409.56 s
[really-safe-money-gen] fromRational
409.56 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.17 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.96 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] DecimalLiteral
409.56 s
[really-safe-money-gen] fromDecimalLiteral
409.56 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.12 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.11 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] Ratio
409.56 s
[really-safe-money-gen] fromRatio
409.56 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.56 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.97 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] compose
409.56 s
[really-safe-money-gen] ✓ produces valid rates 0.79 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] invert
409.56 s
[really-safe-money-gen] ✓ produces valid rates 0.50 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC USD)
409.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC USD)
409.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC USD)'s 0.48 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] INR
409.56 s
[really-safe-money-gen] compose
409.56 s
[really-safe-money-gen] ✓ produces valid rates 1.47 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC INR)
409.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC INR)
409.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC INR)'s 0.65 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] DecimalLiteral
409.56 s
[really-safe-money-gen] fromDecimalLiteral
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.25 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 55.06 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] invert
409.56 s
[really-safe-money-gen] ✓ produces valid rates 0.98 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] Rational
409.56 s
[really-safe-money-gen] fromRational
409.56 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.61 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.73 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] Ratio
409.56 s
[really-safe-money-gen] fromRatio
409.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.81 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.48 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] CHF
409.56 s
[really-safe-money-gen] compose
409.56 s
[really-safe-money-gen] ✓ produces valid rates 0.77 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC CHF)
409.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC CHF)
409.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC CHF)'s 0.46 ms
409.56 s
[really-safe-money-gen] passed for all of 100 inputs.
409.56 s
[really-safe-money-gen] DecimalLiteral
409.56 s
[really-safe-money-gen] fromDecimalLiteral
409.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.25 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 60.74 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] invert
409.57 s
[really-safe-money-gen] ✓ produces valid rates 0.79 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] Ratio
409.57 s
[really-safe-money-gen] fromRatio
409.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.68 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.66 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] Rational
409.57 s
[really-safe-money-gen] fromRational
409.57 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.20 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.74 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] BTC
409.57 s
[really-safe-money-gen] invert
409.57 s
[really-safe-money-gen] ✓ produces valid rates 0.62 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] Rational
409.57 s
[really-safe-money-gen] fromRational
409.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.18 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.54 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] compose
409.57 s
[really-safe-money-gen] ✓ produces valid rates 0.75 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC BTC)
409.57 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC BTC)
409.57 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC BTC)'s 1.12 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] DecimalLiteral
409.57 s
[really-safe-money-gen] fromDecimalLiteral
409.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.06 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 64.05 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] Ratio
409.57 s
[really-safe-money-gen] fromRatio
409.57 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.70 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.84 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] Money.AmountOfSpec
409.57 s
[really-safe-money-gen] USD
409.57 s
[really-safe-money-gen] CHF
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.33 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.46 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] BTC
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.61 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 0.65 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] INR
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.53 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 0.93 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] USD
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 0.85 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.70 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] ADA
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.27 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.11 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] ADA
409.57 s
[really-safe-money-gen] BTC
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.38 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 0.86 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] USD
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.31 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.45 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] CHF
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.59 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 0.66 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] ADA
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 0.67 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.59 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] INR
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 0.69 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.59 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] INR
409.57 s
[really-safe-money-gen] ADA
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 0.66 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.78 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] CHF
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.23 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 0.77 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] INR
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.21 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] convert
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.18 ms
409.57 s
[really-safe-money-gen] passed for all of 100 inputs.
409.57 s
[really-safe-money-gen] BTC
409.57 s
[really-safe-money-gen] rate
409.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.09 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] convert
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.51 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] USD
409.58 s
[really-safe-money-gen] convert
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.60 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] rate
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 0.86 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] BTC
409.58 s
[really-safe-money-gen] INR
409.58 s
[really-safe-money-gen] rate
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 0.90 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] convert
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.84 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] CHF
409.58 s
[really-safe-money-gen] convert
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.20 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] rate
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.03 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] USD
409.58 s
[really-safe-money-gen] rate
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 0.71 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] convert
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.66 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] ADA
409.58 s
[really-safe-money-gen] convert
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.69 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] rate
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.08 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] BTC
409.58 s
[really-safe-money-gen] convert
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.21 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] rate
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 0.68 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] CHF
409.58 s
[really-safe-money-gen] INR
409.58 s
[really-safe-money-gen] convert
409.58 s
[really-safe-money-gen] ✓ produces valid amounts 1.41 ms
409.58 s
[really-safe-money-gen] passed for all of 100 inputs.
409.58 s
[really-safe-money-gen] rate
409.58 s
[really-safe-money-gen] esting mutation Negate at src/Money/ConversionRate.hs:38:41-57:
409.58 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
409.58 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
409.58 s
[really-safe-money-gen] mconcat
409.58 s
[really-safe-money-gen] [ genericValidate cr,
409.58 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
409.58 s
[really-safe-money-gen] + declare "The rate is nonzero" $ not (numerator r /= 0)
409.58 s
[really-safe-money-gen] ]
409.58 s
[really-safe-money-gen]
409.58 s
[really-safe-money-gen] instance NFData ConversionRate
409.58 s
[really-safe-money-gen]
409.67 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8:
409.67 s
[really-safe-money-gen] @@ -34,7 +34,7 @@
409.67 s
[really-safe-money-gen] instance Validity ConversionRate where
409.67 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
409.67 s
[really-safe-money-gen] mconcat
409.67 s
[really-safe-money-gen] - [ genericValidate cr,
409.67 s
[really-safe-money-gen] + [ genericValidate cr,
409.67 s
[really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
409.67 s
[really-safe-money-gen] ]
409.67 s
[really-safe-money-gen]
409.67 s
[really-safe-money-gen]
418.07 s
[really-safe-money-gen] 32m✓ produces valid amounts 0.59 ms
418.09 s
[really-safe-money-gen] passed for all of 100 inputs.
418.09 s
[really-safe-money-gen] USD
418.09 s
[really-safe-money-gen] convert
418.09 s
[really-safe-money-gen] ✓ produces valid amounts 1.74 ms
418.09 s
[really-safe-money-gen] passed for all of 100 inputs.
418.09 s
[really-safe-money-gen] rate
418.09 s
[really-safe-money-gen] ✓ produces valid amounts 0.76 ms
418.09 s
[really-safe-money-gen] passed for all of 100 inputs.
418.09 s
[really-safe-money-gen] BTC
418.09 s
[really-safe-money-gen] convert
418.09 s
[really-safe-money-gen] ✓ produces valid amounts 1.60 ms
418.09 s
[really-safe-money-gen] passed for all of 100 inputs.
418.09 s
[really-safe-money-gen] rate
418.09 s
[really-safe-money-gen] ✓ produces valid amounts 0.59 ms
418.09 s
[really-safe-money-gen] passed for all of 100 inputs.
418.09 s
[really-safe-money-gen] CHF
418.09 s
[really-safe-money-gen] convert
418.09 s
[really-safe-money-gen] ✓ produces valid amounts 1.02 ms
418.09 s
[really-safe-money-gen] passed for all of 100 inputs.
418.09 s
[really-safe-money-gen] rate
418.09 s
[really-safe-money-gen] ✓ produces valid amounts 0.98 ms
418.09 s
[really-safe-money-gen] passed for all of 100 inputs.
418.09 s
[really-safe-money-gen] ADA
418.09 s
[really-safe-money-gen] rate
418.09 s
[really-safe-money-gen] ✓ produces valid amounts 0.58 ms
418.09 s
[really-safe-money-gen] passed for all of 100 inputs.
418.09 s
[really-safe-money-gen] convert
418.09 s
[really-safe-money-gen] ✓ produces valid amounts 1.60 ms
418.09 s
[really-safe-money-gen] passed for all of 100 inputs.
418.09 s
[really-safe-money-gen] Money.AmountSpec
418.09 s
[really-safe-money-gen] rate
418.09 s
[really-safe-money-gen] ✓ produces valid conversion rates 152.26 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 281.64 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.01 ms
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 85.22 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.01 ms
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 267.02 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen]
418.10 s
[really-safe-money-gen]
418.10 s
[really-safe-money-gen]
418.10 s
[really-safe-money-gen] Examples: 202504
418.10 s
[really-safe-money-gen] Passed: 346
418.10 s
[really-safe-money-gen] Failed: 0
418.10 s
[really-safe-money-gen] Sum of test runtimes: 9.26 seconds
418.10 s
[really-safe-money-gen] Test suite took: 9.27 seconds
418.10 s
[really-safe-money-gen]
418.10 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8:
418.10 s
[really-safe-money-gen] @@ -34,7 +34,7 @@
418.10 s
[really-safe-money-gen] instance Validity ConversionRate where
418.10 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
418.10 s
[really-safe-money-gen] mconcat
418.10 s
[really-safe-money-gen] - [ genericValidate cr,
418.10 s
[really-safe-money-gen] + [ genericValidate cr,
418.10 s
[really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
418.10 s
[really-safe-money-gen] ]
418.10 s
[really-safe-money-gen]
418.10 s
[really-safe-money-gen] Tests:
418.10 s
[really-safe-money-gen]
418.10 s
[really-safe-money-gen] Money.ConversionRateSpec
418.10 s
[really-safe-money-gen] Rational
418.10 s
[really-safe-money-gen] fromRational
418.10 s
[really-safe-money-gen] ✓ roundtrips with toRational 68.94 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ produces valid conversion rates 80.08 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] Ratio
418.10 s
[really-safe-money-gen] fromRatio
418.10 s
[really-safe-money-gen] ✓ produces valid conversion rates 18.37 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ roundtrips with toRatio 45.24 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] invert
418.10 s
[really-safe-money-gen] ✓ produces valid rates 18.55 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] DecimalLiteral
418.10 s
[really-safe-money-gen] fromDecimalLiteral
418.10 s
[really-safe-money-gen] ✓ produces valid conversion rates 63.45 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 5270.17 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] compose
418.10 s
[really-safe-money-gen] ✓ produces valid rates 21.30 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] GenValid ConversionRate
418.10 s
[really-safe-money-gen] genValid :: Gen ConversionRate
418.10 s
[really-safe-money-gen] ✓ only generates valid 'ConversionRate's 20.69 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] Money.AccountSpec
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 85.69 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 196.65 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.01 ms
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 143.66 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ produces valid conversion rates 54.35 ms
418.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
418.10 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.01 ms
418.10 s
[really-safe-money-gen] Money.AccountOfSpec
418.10 s
[really-safe-money-gen] USD
418.10 s
[really-safe-money-gen] USD
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.74 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.44 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] BTC
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.68 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] INR
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.15 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 1.10 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] ADA
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.25 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.99 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] CHF
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.81 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.58 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] INR
418.10 s
[really-safe-money-gen] USD
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.80 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] CHF
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.22 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 1.12 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] BTC
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.73 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] ADA
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 1.07 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.22 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] INR
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.70 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.22 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] CHF
418.10 s
[really-safe-money-gen] USD
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.24 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 1.37 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] BTC
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.87 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.24 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] ADA
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 1.25 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] CHF
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.86 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] INR
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.98 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] ADA
418.10 s
[really-safe-money-gen] CHF
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.89 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] INR
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.26 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 1.32 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] ADA
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.75 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] BTC
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 1.13 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.19 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] USD
418.10 s
[really-safe-money-gen] convert
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.83 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] rate
418.10 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
418.10 s
[really-safe-money-gen] passed for all of 100 inputs.
418.10 s
[really-safe-money-gen] BTC
418.11 s
[really-safe-money-gen] BTC
418.11 s
[really-safe-money-gen] convert
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 1.11 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] rate
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] USD
418.11 s
[really-safe-money-gen] convert
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 0.93 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] rate
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 0.25 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ADA
418.11 s
[really-safe-money-gen] convert
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 1.43 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] rate
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] INR
418.11 s
[really-safe-money-gen] rate
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] convert
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 0.93 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] CHF
418.11 s
[really-safe-money-gen] rate
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 0.22 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] convert
418.11 s
[really-safe-money-gen] ✓ produces valid amounts 1.17 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Money.ConversionRateOfSpec
418.11 s
[really-safe-money-gen] INR
418.11 s
[really-safe-money-gen] ADA
418.11 s
[really-safe-money-gen] Ratio
418.11 s
[really-safe-money-gen] fromRatio
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.33 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.11 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] GenValid (ConversionRateOf INR ADA)
418.11 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR ADA)
418.11 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR ADA)'s 0.12 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Rational
418.11 s
[really-safe-money-gen] fromRational
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.98 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.43 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] compose
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.14 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] invert
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.14 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] DecimalLiteral
418.11 s
[really-safe-money-gen] fromDecimalLiteral
418.11 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 57.77 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.59 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] BTC
418.11 s
[really-safe-money-gen] Ratio
418.11 s
[really-safe-money-gen] fromRatio
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.44 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.19 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] invert
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.56 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] compose
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.19 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Rational
418.11 s
[really-safe-money-gen] fromRational
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.55 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.67 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] DecimalLiteral
418.11 s
[really-safe-money-gen] fromDecimalLiteral
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.80 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.91 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] GenValid (ConversionRateOf INR BTC)
418.11 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR BTC)
418.11 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR BTC)'s 0.20 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] CHF
418.11 s
[really-safe-money-gen] DecimalLiteral
418.11 s
[really-safe-money-gen] fromDecimalLiteral
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.13 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 57.02 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Ratio
418.11 s
[really-safe-money-gen] fromRatio
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.18 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.77 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Rational
418.11 s
[really-safe-money-gen] fromRational
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.44 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.66 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] invert
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.17 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] compose
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] GenValid (ConversionRateOf INR CHF)
418.11 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR CHF)
418.11 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR CHF)'s 0.50 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] USD
418.11 s
[really-safe-money-gen] GenValid (ConversionRateOf INR USD)
418.11 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR USD)
418.11 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR USD)'s 0.13 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Rational
418.11 s
[really-safe-money-gen] fromRational
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.51 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.43 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] invert
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.15 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Ratio
418.11 s
[really-safe-money-gen] fromRatio
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.74 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.18 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] compose
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.19 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] DecimalLiteral
418.11 s
[really-safe-money-gen] fromDecimalLiteral
418.11 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.64 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.62 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] INR
418.11 s
[really-safe-money-gen] Rational
418.11 s
[really-safe-money-gen] fromRational
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.46 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.50 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] GenValid (ConversionRateOf INR INR)
418.11 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR INR)
418.11 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR INR)'s 0.52 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] DecimalLiteral
418.11 s
[really-safe-money-gen] fromDecimalLiteral
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.50 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 60.58 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] compose
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.17 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] invert
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.11 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Ratio
418.11 s
[really-safe-money-gen] fromRatio
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.15 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.41 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ADA
418.11 s
[really-safe-money-gen] USD
418.11 s
[really-safe-money-gen] compose
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Ratio
418.11 s
[really-safe-money-gen] fromRatio
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.11 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.75 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] invert
418.11 s
[really-safe-money-gen] ✓ produces valid rates 0.17 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] Rational
418.11 s
[really-safe-money-gen] fromRational
418.11 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.56 ms
418.11 s
[really-safe-money-gen] passed for all of 100 inputs.
418.11 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.66 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA USD)
418.12 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA USD)
418.12 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA USD)'s 0.20 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] DecimalLiteral
418.12 s
[really-safe-money-gen] fromDecimalLiteral
418.12 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.48 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.48 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] CHF
418.12 s
[really-safe-money-gen] DecimalLiteral
418.12 s
[really-safe-money-gen] fromDecimalLiteral
418.12 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 56.76 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.67 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] compose
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.22 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Rational
418.12 s
[really-safe-money-gen] fromRational
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.99 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.67 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Ratio
418.12 s
[really-safe-money-gen] fromRatio
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.39 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.14 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA CHF)
418.12 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA CHF)
418.12 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA CHF)'s 0.56 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] invert
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.18 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ADA
418.12 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA ADA)
418.12 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA ADA)
418.12 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA ADA)'s 0.13 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] invert
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.11 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Ratio
418.12 s
[really-safe-money-gen] fromRatio
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.32 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.13 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] compose
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Rational
418.12 s
[really-safe-money-gen] fromRational
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.94 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.53 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] DecimalLiteral
418.12 s
[really-safe-money-gen] fromDecimalLiteral
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.47 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 61.25 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] BTC
418.12 s
[really-safe-money-gen] DecimalLiteral
418.12 s
[really-safe-money-gen] fromDecimalLiteral
418.12 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.15 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.51 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA BTC)
418.12 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA BTC)
418.12 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA BTC)'s 0.14 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] invert
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Rational
418.12 s
[really-safe-money-gen] fromRational
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.45 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.83 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] compose
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Ratio
418.12 s
[really-safe-money-gen] fromRatio
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.11 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.32 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] INR
418.12 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA INR)
418.12 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA INR)
418.12 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA INR)'s 0.13 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Rational
418.12 s
[really-safe-money-gen] fromRational
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.01 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.45 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Ratio
418.12 s
[really-safe-money-gen] fromRatio
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.29 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.15 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] DecimalLiteral
418.12 s
[really-safe-money-gen] fromDecimalLiteral
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.51 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 61.93 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] compose
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] invert
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.11 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] CHF
418.12 s
[really-safe-money-gen] BTC
418.12 s
[really-safe-money-gen] Rational
418.12 s
[really-safe-money-gen] fromRational
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.93 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.56 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] DecimalLiteral
418.12 s
[really-safe-money-gen] fromDecimalLiteral
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.51 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 57.14 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] compose
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.17 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Ratio
418.12 s
[really-safe-money-gen] fromRatio
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.16 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.30 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] invert
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.52 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF BTC)
418.12 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF BTC)
418.12 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF BTC)'s 0.12 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ADA
418.12 s
[really-safe-money-gen] DecimalLiteral
418.12 s
[really-safe-money-gen] fromDecimalLiteral
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.46 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 57.48 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] invert
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.11 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Ratio
418.12 s
[really-safe-money-gen] fromRatio
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.30 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.15 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] compose
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF ADA)
418.12 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF ADA)
418.12 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF ADA)'s 0.19 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Rational
418.12 s
[really-safe-money-gen] fromRational
418.12 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.08 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.74 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] USD
418.12 s
[really-safe-money-gen] invert
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.19 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF USD)
418.12 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF USD)
418.12 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF USD)'s 0.16 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] DecimalLiteral
418.12 s
[really-safe-money-gen] fromDecimalLiteral
418.12 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.91 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.65 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] compose
418.12 s
[really-safe-money-gen] ✓ produces valid rates 0.20 ms
418.12 s
[really-safe-money-gen] passed for all of 100 inputs.
418.12 s
[really-safe-money-gen] Rational
418.12 s
[really-safe-money-gen] fromRational
418.12 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.13 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.44 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] Ratio
418.13 s
[really-safe-money-gen] fromRatio
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.11 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.35 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] CHF
418.13 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF CHF)
418.13 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF CHF)
418.13 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF CHF)'s 0.17 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] DecimalLiteral
418.13 s
[really-safe-money-gen] fromDecimalLiteral
418.13 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 63.13 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.48 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] Rational
418.13 s
[really-safe-money-gen] fromRational
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.02 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.47 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] invert
418.13 s
[really-safe-money-gen] ✓ produces valid rates 0.15 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] Ratio
418.13 s
[really-safe-money-gen] fromRatio
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.13 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.34 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] compose
418.13 s
[really-safe-money-gen] ✓ produces valid rates 0.21 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] INR
418.13 s
[really-safe-money-gen] Ratio
418.13 s
[really-safe-money-gen] fromRatio
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.66 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.45 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] compose
418.13 s
[really-safe-money-gen] ✓ produces valid rates 0.19 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] invert
418.13 s
[really-safe-money-gen] ✓ produces valid rates 0.18 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] DecimalLiteral
418.13 s
[really-safe-money-gen] fromDecimalLiteral
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.70 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.75 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF INR)
418.13 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF INR)
418.13 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF INR)'s 0.20 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] Rational
418.13 s
[really-safe-money-gen] fromRational
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.61 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.95 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] USD
418.13 s
[really-safe-money-gen] CHF
418.13 s
[really-safe-money-gen] GenValid (ConversionRateOf USD CHF)
418.13 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD CHF)
418.13 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD CHF)'s 0.12 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] invert
418.13 s
[really-safe-money-gen] ✓ produces valid rates 0.14 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] DecimalLiteral
418.13 s
[really-safe-money-gen] fromDecimalLiteral
418.13 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 65.41 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.71 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] Rational
418.13 s
[really-safe-money-gen] fromRational
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.59 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.74 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] Ratio
418.13 s
[really-safe-money-gen] fromRatio
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.77 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.16 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] compose
418.13 s
[really-safe-money-gen] ✓ produces valid rates 0.20 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] USD
418.13 s
[really-safe-money-gen] Ratio
418.13 s
[really-safe-money-gen] fromRatio
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.41 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.18 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] DecimalLiteral
418.13 s
[really-safe-money-gen] fromDecimalLiteral
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.01 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 69.36 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] invert
418.13 s
[really-safe-money-gen] ✓ produces valid rates 0.18 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] Rational
418.13 s
[really-safe-money-gen] fromRational
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.96 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.74 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] compose
418.13 s
[really-safe-money-gen] ✓ produces valid rates 0.15 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] GenValid (ConversionRateOf USD USD)
418.13 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD USD)
418.13 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD USD)'s 0.19 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] INR
418.13 s
[really-safe-money-gen] DecimalLiteral
418.13 s
[really-safe-money-gen] fromDecimalLiteral
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.63 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 66.58 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] compose
418.13 s
[really-safe-money-gen] ✓ produces valid rates 0.21 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] Rational
418.13 s
[really-safe-money-gen] fromRational
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.99 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.58 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] Ratio
418.13 s
[really-safe-money-gen] fromRatio
418.13 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.12 ms
418.13 s
[really-safe-money-gen] passed for all of 100 inputs.
418.13 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.45 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] invert
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] GenValid (ConversionRateOf USD INR)
418.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD INR)
418.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD INR)'s 0.20 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] BTC
418.14 s
[really-safe-money-gen] Ratio
418.14 s
[really-safe-money-gen] fromRatio
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.79 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.19 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] compose
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.17 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] Rational
418.14 s
[really-safe-money-gen] fromRational
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.69 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.60 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] GenValid (ConversionRateOf USD BTC)
418.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD BTC)
418.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD BTC)'s 0.56 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] invert
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.14 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] DecimalLiteral
418.14 s
[really-safe-money-gen] fromDecimalLiteral
418.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 70.47 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.22 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ADA
418.14 s
[really-safe-money-gen] GenValid (ConversionRateOf USD ADA)
418.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD ADA)
418.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD ADA)'s 0.27 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] compose
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.29 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] DecimalLiteral
418.14 s
[really-safe-money-gen] fromDecimalLiteral
418.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 73.20 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.65 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] invert
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.19 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] Ratio
418.14 s
[really-safe-money-gen] fromRatio
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.39 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.19 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] Rational
418.14 s
[really-safe-money-gen] fromRational
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.07 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.61 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] BTC
418.14 s
[really-safe-money-gen] ADA
418.14 s
[really-safe-money-gen] Ratio
418.14 s
[really-safe-money-gen] fromRatio
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.18 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.38 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] DecimalLiteral
418.14 s
[really-safe-money-gen] fromDecimalLiteral
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.07 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 61.03 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] compose
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] invert
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.71 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC ADA)
418.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC ADA)
418.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC ADA)'s 0.13 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] Rational
418.14 s
[really-safe-money-gen] fromRational
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.51 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.46 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] USD
418.14 s
[really-safe-money-gen] Rational
418.14 s
[really-safe-money-gen] fromRational
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.40 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.16 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] DecimalLiteral
418.14 s
[really-safe-money-gen] fromDecimalLiteral
418.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 57.43 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.64 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] Ratio
418.14 s
[really-safe-money-gen] fromRatio
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.39 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.11 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] compose
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] invert
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC USD)
418.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC USD)
418.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC USD)'s 0.12 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] INR
418.14 s
[really-safe-money-gen] compose
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.52 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC INR)
418.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC INR)
418.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC INR)'s 0.12 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] DecimalLiteral
418.14 s
[really-safe-money-gen] fromDecimalLiteral
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.55 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.16 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] invert
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.19 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] Rational
418.14 s
[really-safe-money-gen] fromRational
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.68 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.63 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] Ratio
418.14 s
[really-safe-money-gen] fromRatio
418.14 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.59 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.33 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] CHF
418.14 s
[really-safe-money-gen] compose
418.14 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.14 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC CHF)
418.14 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC CHF)
418.14 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC CHF)'s 0.12 ms
418.14 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] DecimalLiteral
418.15 s
[really-safe-money-gen] fromDecimalLiteral
418.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.59 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.37 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] invert
418.15 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] Ratio
418.15 s
[really-safe-money-gen] fromRatio
418.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.18 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.41 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] Rational
418.15 s
[really-safe-money-gen] fromRational
418.15 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.00 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.52 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] BTC
418.15 s
[really-safe-money-gen] invert
418.15 s
[really-safe-money-gen] ✓ produces valid rates 0.20 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] Rational
418.15 s
[really-safe-money-gen] fromRational
418.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.61 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.83 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] compose
418.15 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC BTC)
418.15 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC BTC)
418.15 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC BTC)'s 0.12 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] DecimalLiteral
418.15 s
[really-safe-money-gen] fromDecimalLiteral
418.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.50 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 64.02 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] Ratio
418.15 s
[really-safe-money-gen] fromRatio
418.15 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.38 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.11 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] Money.AmountOfSpec
418.15 s
[really-safe-money-gen] USD
418.15 s
[really-safe-money-gen] CHF
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 1.11 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] BTC
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.68 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] INR
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 1.34 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.29 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] USD
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.28 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.96 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] ADA
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 1.28 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.22 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] ADA
418.15 s
[really-safe-money-gen] BTC
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.84 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] USD
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 1.05 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] CHF
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.85 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.30 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] ADA
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.29 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 1.23 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] INR
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.21 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.73 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] INR
418.15 s
[really-safe-money-gen] ADA
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 1.26 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] CHF
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.67 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.21 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] INR
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 1.30 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] BTC
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.30 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.96 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] USD
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 1.23 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.29 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] BTC
418.15 s
[really-safe-money-gen] INR
418.15 s
[really-safe-money-gen] rate
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.29 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] convert
418.15 s
[really-safe-money-gen] ✓ produces valid amounts 0.79 ms
418.15 s
[really-safe-money-gen] passed for all of 100 inputs.
418.15 s
[really-safe-money-gen] CHF
418.15 s
[really-safe-money-gen] convert
418.16 s
[really-safe-money-gen] ✓ produces valid amounts 1.21 ms
418.16 s
[really-safe-money-gen] passed for all of 100 inputs.
418.16 s
[really-safe-money-gen] rate
418.16 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
418.16 s
[really-safe-money-gen] passed for all of 100 inputs.
418.16 s
[really-safe-money-gen] USD
418.16 s
[really-safe-money-gen] rate
418.16 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
418.16 s
[really-safe-money-gen] passed for all of 100 inputs.
418.16 s
[really-safe-money-gen] convert
418.16 s
[really-safe-money-gen] ✓ produces valid amounts 0.70 ms
418.16 s
[really-safe-money-gen] passed for all of 100 inputs.
418.16 s
[really-safe-money-gen] ADA
418.16 s
[really-safe-money-gen] convert
418.16 s
[really-safe-money-gen] ✓ produces valid amounts 1.46 ms
418.16 s
[really-safe-money-gen] passed for all of 100 inputs.
418.16 s
[really-safe-money-gen] rate
418.16 s
[really-safe-money-gen] ✓ produces valid amounts Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8:
418.16 s
[really-safe-money-gen] @@ -34,7 +34,7 @@
418.16 s
[really-safe-money-gen] instance Validity ConversionRate where
418.16 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
418.16 s
[really-safe-money-gen] mconcat
418.16 s
[really-safe-money-gen] - [ genericValidate cr,
418.16 s
[really-safe-money-gen] + [ genericValidate cr,
418.16 s
[really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
418.16 s
[really-safe-money-gen] ]
418.16 s
[really-safe-money-gen]
418.16 s
[really-safe-money-gen]
426.51 s
[really-safe-money-gen] 0.45 ms
426.51 s
[really-safe-money-gen] passed for all of 100 inputs.
426.53 s
[really-safe-money-gen] BTC
426.53 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.19 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.34 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] CHF
426.54 s
[really-safe-money-gen] INR
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.34 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.24 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] USD
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.69 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.29 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] BTC
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.15 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.21 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] CHF
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.67 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.19 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] ADA
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.16 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] Money.AmountSpec
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 57.38 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 212.63 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.01 ms
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 75.80 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.01 ms
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 181.58 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen]
426.54 s
[really-safe-money-gen]
426.54 s
[really-safe-money-gen]
426.54 s
[really-safe-money-gen] Examples: 202504
426.54 s
[really-safe-money-gen] Passed: 346
426.54 s
[really-safe-money-gen] Failed: 0
426.54 s
[really-safe-money-gen] Sum of test runtimes: 8.30 seconds
426.54 s
[really-safe-money-gen] Test suite took: 8.31 seconds
426.54 s
[really-safe-money-gen]
426.54 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8:
426.54 s
[really-safe-money-gen] @@ -34,7 +34,7 @@
426.54 s
[really-safe-money-gen] instance Validity ConversionRate where
426.54 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
426.54 s
[really-safe-money-gen] mconcat
426.54 s
[really-safe-money-gen] - [ genericValidate cr,
426.54 s
[really-safe-money-gen] + [ genericValidate cr,
426.54 s
[really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
426.54 s
[really-safe-money-gen] ]
426.54 s
[really-safe-money-gen]
426.54 s
[really-safe-money-gen] Tests:
426.54 s
[really-safe-money-gen]
426.54 s
[really-safe-money-gen] Money.ConversionRateSpec
426.54 s
[really-safe-money-gen] Rational
426.54 s
[really-safe-money-gen] fromRational
426.54 s
[really-safe-money-gen] ✓ roundtrips with toRational 58.64 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 74.26 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] Ratio
426.54 s
[really-safe-money-gen] fromRatio
426.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 17.89 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ roundtrips with toRatio 42.82 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] invert
426.54 s
[really-safe-money-gen] ✓ produces valid rates 17.74 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] DecimalLiteral
426.54 s
[really-safe-money-gen] fromDecimalLiteral
426.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 62.57 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 5325.56 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] compose
426.54 s
[really-safe-money-gen] ✓ produces valid rates 19.13 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] GenValid ConversionRate
426.54 s
[really-safe-money-gen] genValid :: Gen ConversionRate
426.54 s
[really-safe-money-gen] ✓ only generates valid 'ConversionRate's 18.68 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] Money.AccountSpec
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 78.56 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 188.41 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.02 ms
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 140.23 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ produces valid conversion rates 51.83 ms
426.54 s
[really-safe-money-gen] passed for all of 10000 inputs.
426.54 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.01 ms
426.54 s
[really-safe-money-gen] Money.AccountOfSpec
426.54 s
[really-safe-money-gen] USD
426.54 s
[really-safe-money-gen] USD
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.97 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.59 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] BTC
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.23 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.76 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] INR
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] convert
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 1.21 ms
426.54 s
[really-safe-money-gen] passed for all of 100 inputs.
426.54 s
[really-safe-money-gen] ADA
426.54 s
[really-safe-money-gen] rate
426.54 s
[really-safe-money-gen] ✓ produces valid amounts 0.24 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.95 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] CHF
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.02 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.65 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] INR
426.55 s
[really-safe-money-gen] USD
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.89 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.26 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] CHF
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.15 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.10 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] BTC
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.81 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] ADA
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.01 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] INR
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.69 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.26 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] CHF
426.55 s
[really-safe-money-gen] USD
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.24 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.31 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] BTC
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.80 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.19 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] ADA
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.10 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] CHF
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.73 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] INR
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.10 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] ADA
426.55 s
[really-safe-money-gen] CHF
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.78 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] INR
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.63 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] ADA
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.25 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.29 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] BTC
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.33 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.25 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] USD
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.88 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.24 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] BTC
426.55 s
[really-safe-money-gen] BTC
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.19 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] USD
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.83 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] ADA
426.55 s
[really-safe-money-gen] convert
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 1.40 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.25 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.55 s
[really-safe-money-gen] INR
426.55 s
[really-safe-money-gen] rate
426.55 s
[really-safe-money-gen] ✓ produces valid amounts 0.24 ms
426.55 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] convert
426.56 s
[really-safe-money-gen] ✓ produces valid amounts 1.01 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] CHF
426.56 s
[really-safe-money-gen] rate
426.56 s
[really-safe-money-gen] ✓ produces valid amounts 0.24 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] convert
426.56 s
[really-safe-money-gen] ✓ produces valid amounts 1.20 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] Money.ConversionRateOfSpec
426.56 s
[really-safe-money-gen] INR
426.56 s
[really-safe-money-gen] ADA
426.56 s
[really-safe-money-gen] Ratio
426.56 s
[really-safe-money-gen] fromRatio
426.56 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.29 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.14 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] GenValid (ConversionRateOf INR ADA)
426.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR ADA)
426.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR ADA)'s 0.12 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] Rational
426.56 s
[really-safe-money-gen] fromRational
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.00 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.45 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] compose
426.56 s
[really-safe-money-gen] ✓ produces valid rates 0.15 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] invert
426.56 s
[really-safe-money-gen] ✓ produces valid rates 0.11 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] DecimalLiteral
426.56 s
[really-safe-money-gen] fromDecimalLiteral
426.56 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.82 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.73 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] BTC
426.56 s
[really-safe-money-gen] Ratio
426.56 s
[really-safe-money-gen] fromRatio
426.56 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.34 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.11 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] invert
426.56 s
[really-safe-money-gen] ✓ produces valid rates 0.48 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] compose
426.56 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] Rational
426.56 s
[really-safe-money-gen] fromRational
426.56 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.46 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.64 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] DecimalLiteral
426.56 s
[really-safe-money-gen] fromDecimalLiteral
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.80 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 60.94 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] GenValid (ConversionRateOf INR BTC)
426.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR BTC)
426.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR BTC)'s 0.28 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] CHF
426.56 s
[really-safe-money-gen] DecimalLiteral
426.56 s
[really-safe-money-gen] fromDecimalLiteral
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.95 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.84 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] Ratio
426.56 s
[really-safe-money-gen] fromRatio
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.16 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.78 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] Rational
426.56 s
[really-safe-money-gen] fromRational
426.56 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.66 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.74 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] invert
426.56 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] compose
426.56 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] GenValid (ConversionRateOf INR CHF)
426.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR CHF)
426.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR CHF)'s 0.47 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] USD
426.56 s
[really-safe-money-gen] GenValid (ConversionRateOf INR USD)
426.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR USD)
426.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR USD)'s 0.12 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] Rational
426.56 s
[really-safe-money-gen] fromRational
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.59 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.66 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] invert
426.56 s
[really-safe-money-gen] ✓ produces valid rates 0.18 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] Ratio
426.56 s
[really-safe-money-gen] fromRatio
426.56 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.85 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.16 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] compose
426.56 s
[really-safe-money-gen] ✓ produces valid rates 0.15 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] DecimalLiteral
426.56 s
[really-safe-money-gen] fromDecimalLiteral
426.56 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.93 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.55 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] INR
426.56 s
[really-safe-money-gen] Rational
426.56 s
[really-safe-money-gen] fromRational
426.56 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.49 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.82 ms
426.56 s
[really-safe-money-gen] passed for all of 100 inputs.
426.56 s
[really-safe-money-gen] GenValid (ConversionRateOf INR INR)
426.56 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf INR INR)
426.56 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf INR INR)'s 0.55 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] DecimalLiteral
426.57 s
[really-safe-money-gen] fromDecimalLiteral
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.67 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.40 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] compose
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.15 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] invert
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.14 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Ratio
426.57 s
[really-safe-money-gen] fromRatio
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.16 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.42 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ADA
426.57 s
[really-safe-money-gen] USD
426.57 s
[really-safe-money-gen] compose
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.18 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Ratio
426.57 s
[really-safe-money-gen] fromRatio
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.17 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.77 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] invert
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.18 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Rational
426.57 s
[really-safe-money-gen] fromRational
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.73 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.47 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA USD)
426.57 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA USD)
426.57 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA USD)'s 0.15 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] DecimalLiteral
426.57 s
[really-safe-money-gen] fromDecimalLiteral
426.57 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.96 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.61 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] CHF
426.57 s
[really-safe-money-gen] DecimalLiteral
426.57 s
[really-safe-money-gen] fromDecimalLiteral
426.57 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 58.24 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.59 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] compose
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Rational
426.57 s
[really-safe-money-gen] fromRational
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.13 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.82 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Ratio
426.57 s
[really-safe-money-gen] fromRatio
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.39 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.19 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA CHF)
426.57 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA CHF)
426.57 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA CHF)'s 0.54 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] invert
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.17 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ADA
426.57 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA ADA)
426.57 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA ADA)
426.57 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA ADA)'s 0.18 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] invert
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.18 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Ratio
426.57 s
[really-safe-money-gen] fromRatio
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.29 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.12 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] compose
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Rational
426.57 s
[really-safe-money-gen] fromRational
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.89 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.55 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] DecimalLiteral
426.57 s
[really-safe-money-gen] fromDecimalLiteral
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.48 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 66.37 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] BTC
426.57 s
[really-safe-money-gen] DecimalLiteral
426.57 s
[really-safe-money-gen] fromDecimalLiteral
426.57 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 67.34 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.76 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA BTC)
426.57 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA BTC)
426.57 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA BTC)'s 0.20 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] invert
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.15 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Rational
426.57 s
[really-safe-money-gen] fromRational
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.65 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.27 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] compose
426.57 s
[really-safe-money-gen] ✓ produces valid rates 0.28 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Ratio
426.57 s
[really-safe-money-gen] fromRatio
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.23 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.52 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] INR
426.57 s
[really-safe-money-gen] GenValid (ConversionRateOf ADA INR)
426.57 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf ADA INR)
426.57 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf ADA INR)'s 0.21 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Rational
426.57 s
[really-safe-money-gen] fromRational
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.09 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.68 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] Ratio
426.57 s
[really-safe-money-gen] fromRatio
426.57 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.37 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.57 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.18 ms
426.57 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] DecimalLiteral
426.58 s
[really-safe-money-gen] fromDecimalLiteral
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.72 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 70.60 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] compose
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] invert
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] CHF
426.58 s
[really-safe-money-gen] BTC
426.58 s
[really-safe-money-gen] Rational
426.58 s
[really-safe-money-gen] fromRational
426.58 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.98 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.80 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] DecimalLiteral
426.58 s
[really-safe-money-gen] fromDecimalLiteral
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.73 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 69.94 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] compose
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.22 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] Ratio
426.58 s
[really-safe-money-gen] fromRatio
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.20 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.47 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] invert
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.63 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF BTC)
426.58 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF BTC)
426.58 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF BTC)'s 0.21 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ADA
426.58 s
[really-safe-money-gen] DecimalLiteral
426.58 s
[really-safe-money-gen] fromDecimalLiteral
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.60 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 72.01 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] invert
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.21 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] Ratio
426.58 s
[really-safe-money-gen] fromRatio
426.58 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.46 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.21 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] compose
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF ADA)
426.58 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF ADA)
426.58 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF ADA)'s 0.17 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] Rational
426.58 s
[really-safe-money-gen] fromRational
426.58 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.07 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.87 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] USD
426.58 s
[really-safe-money-gen] invert
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.19 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF USD)
426.58 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF USD)
426.58 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF USD)'s 0.19 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] DecimalLiteral
426.58 s
[really-safe-money-gen] fromDecimalLiteral
426.58 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.17 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.80 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] compose
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.21 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] Rational
426.58 s
[really-safe-money-gen] fromRational
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.15 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.53 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] Ratio
426.58 s
[really-safe-money-gen] fromRatio
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.16 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.40 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] CHF
426.58 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF CHF)
426.58 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF CHF)
426.58 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF CHF)'s 0.20 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] DecimalLiteral
426.58 s
[really-safe-money-gen] fromDecimalLiteral
426.58 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 68.16 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.68 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] Rational
426.58 s
[really-safe-money-gen] fromRational
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.27 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.66 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] invert
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.17 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] Ratio
426.58 s
[really-safe-money-gen] fromRatio
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.20 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.47 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] compose
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] INR
426.58 s
[really-safe-money-gen] Ratio
426.58 s
[really-safe-money-gen] fromRatio
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.61 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.45 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] compose
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.18 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] invert
426.58 s
[really-safe-money-gen] ✓ produces valid rates 0.20 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] DecimalLiteral
426.58 s
[really-safe-money-gen] fromDecimalLiteral
426.58 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.70 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 61.61 ms
426.58 s
[really-safe-money-gen] passed for all of 100 inputs.
426.58 s
[really-safe-money-gen] GenValid (ConversionRateOf CHF INR)
426.58 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf CHF INR)
426.59 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf CHF INR)'s 0.14 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] Rational
426.59 s
[really-safe-money-gen] fromRational
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.46 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.87 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] USD
426.59 s
[really-safe-money-gen] CHF
426.59 s
[really-safe-money-gen] GenValid (ConversionRateOf USD CHF)
426.59 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD CHF)
426.59 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD CHF)'s 0.12 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] invert
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.11 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] DecimalLiteral
426.59 s
[really-safe-money-gen] fromDecimalLiteral
426.59 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 55.90 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.78 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] Rational
426.59 s
[really-safe-money-gen] fromRational
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.53 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.71 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] Ratio
426.59 s
[really-safe-money-gen] fromRatio
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.72 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.12 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] compose
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] USD
426.59 s
[really-safe-money-gen] Ratio
426.59 s
[really-safe-money-gen] fromRatio
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.28 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.13 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] DecimalLiteral
426.59 s
[really-safe-money-gen] fromDecimalLiteral
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.86 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.53 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] invert
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.14 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] Rational
426.59 s
[really-safe-money-gen] fromRational
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.90 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.51 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] compose
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] GenValid (ConversionRateOf USD USD)
426.59 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD USD)
426.59 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD USD)'s 0.12 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] INR
426.59 s
[really-safe-money-gen] DecimalLiteral
426.59 s
[really-safe-money-gen] fromDecimalLiteral
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.50 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 62.99 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] compose
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] Rational
426.59 s
[really-safe-money-gen] fromRational
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.94 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.73 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] Ratio
426.59 s
[really-safe-money-gen] fromRatio
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.18 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.44 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] invert
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.18 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] GenValid (ConversionRateOf USD INR)
426.59 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD INR)
426.59 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD INR)'s 0.15 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] BTC
426.59 s
[really-safe-money-gen] Ratio
426.59 s
[really-safe-money-gen] fromRatio
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.81 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.20 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] compose
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.20 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] Rational
426.59 s
[really-safe-money-gen] fromRational
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.75 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.62 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] GenValid (ConversionRateOf USD BTC)
426.59 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD BTC)
426.59 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD BTC)'s 0.54 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] invert
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] DecimalLiteral
426.59 s
[really-safe-money-gen] fromDecimalLiteral
426.59 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 61.89 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 1.10 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ADA
426.59 s
[really-safe-money-gen] GenValid (ConversionRateOf USD ADA)
426.59 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf USD ADA)
426.59 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf USD ADA)'s 0.16 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] compose
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.20 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] DecimalLiteral
426.59 s
[really-safe-money-gen] fromDecimalLiteral
426.59 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 64.21 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.52 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] invert
426.59 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] Ratio
426.59 s
[really-safe-money-gen] fromRatio
426.59 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.32 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.12 ms
426.59 s
[really-safe-money-gen] passed for all of 100 inputs.
426.59 s
[really-safe-money-gen] Rational
426.59 s
[really-safe-money-gen] fromRational
426.59 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.97 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.45 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] BTC
426.60 s
[really-safe-money-gen] ADA
426.60 s
[really-safe-money-gen] Ratio
426.60 s
[really-safe-money-gen] fromRatio
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.11 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.31 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] DecimalLiteral
426.60 s
[really-safe-money-gen] fromDecimalLiteral
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.86 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 52.90 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] compose
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] invert
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.44 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC ADA)
426.60 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC ADA)
426.60 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC ADA)'s 0.12 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] Rational
426.60 s
[really-safe-money-gen] fromRational
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.52 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.43 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] USD
426.60 s
[really-safe-money-gen] Rational
426.60 s
[really-safe-money-gen] fromRational
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.42 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.77 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] DecimalLiteral
426.60 s
[really-safe-money-gen] fromDecimalLiteral
426.60 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 51.52 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.48 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] Ratio
426.60 s
[really-safe-money-gen] fromRatio
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.30 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.11 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] compose
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] invert
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.12 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC USD)
426.60 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC USD)
426.60 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC USD)'s 0.12 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] INR
426.60 s
[really-safe-money-gen] compose
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.42 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC INR)
426.60 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC INR)
426.60 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC INR)'s 0.11 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] DecimalLiteral
426.60 s
[really-safe-money-gen] fromDecimalLiteral
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.46 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 59.25 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] invert
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] Rational
426.60 s
[really-safe-money-gen] fromRational
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.56 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.55 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] Ratio
426.60 s
[really-safe-money-gen] fromRatio
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.47 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.34 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] CHF
426.60 s
[really-safe-money-gen] compose
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.16 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC CHF)
426.60 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC CHF)
426.60 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC CHF)'s 0.19 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] DecimalLiteral
426.60 s
[really-safe-money-gen] fromDecimalLiteral
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.50 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 63.97 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] invert
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.14 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] Ratio
426.60 s
[really-safe-money-gen] fromRatio
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.13 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.30 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] Rational
426.60 s
[really-safe-money-gen] fromRational
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRational 0.92 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.51 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] BTC
426.60 s
[really-safe-money-gen] invert
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.13 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] Rational
426.60 s
[really-safe-money-gen] fromRational
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.72 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRational 1.04 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] compose
426.60 s
[really-safe-money-gen] ✓ produces valid rates 0.19 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] GenValid (ConversionRateOf BTC BTC)
426.60 s
[really-safe-money-gen] genValid :: Gen (ConversionRateOf BTC BTC)
426.60 s
[really-safe-money-gen] ✓ only generates valid '(ConversionRateOf BTC BTC)'s 0.20 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] DecimalLiteral
426.60 s
[really-safe-money-gen] fromDecimalLiteral
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.70 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ roundtrips with toDecimalLiteral 64.92 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] Ratio
426.60 s
[really-safe-money-gen] fromRatio
426.60 s
[really-safe-money-gen] ✓ roundtrips with toRatio 0.54 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.60 s
[really-safe-money-gen] ✓ produces valid conversion rates 0.18 ms
426.60 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] Money.AmountOfSpec
426.61 s
[really-safe-money-gen] USD
426.61 s
[really-safe-money-gen] CHF
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.25 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 1.36 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] BTC
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 1.05 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.31 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] INR
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 1.33 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.22 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] USD
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.32 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.79 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] ADA
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 1.14 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.27 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] ADA
426.61 s
[really-safe-money-gen] BTC
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.73 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] USD
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.19 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.99 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] CHF
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.95 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.30 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] ADA
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.31 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 1.51 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] INR
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.28 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.87 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] INR
426.61 s
[really-safe-money-gen] ADA
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.21 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 1.19 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] CHF
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.62 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] INR
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.23 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 1.36 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] BTC
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.25 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.92 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] USD
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 1.28 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.25 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] BTC
426.61 s
[really-safe-money-gen] INR
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.21 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.70 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] CHF
426.61 s
[really-safe-money-gen] convert
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 1.21 ms
426.61 s
[really-safe-money-gen] passed for all of 100 inputs.
426.61 s
[really-safe-money-gen] rate
426.61 s
[really-safe-money-gen] ✓ produces valid amounts 0.19Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:396:23-27:
426.61 s
[really-safe-money-gen] @@ -393,5 +393,5 @@
426.61 s
[really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
426.61 s
[really-safe-money-gen] where
426.61 s
[really-safe-money-gen] go = \case
426.61 s
[really-safe-money-gen] - Nothing -> Just True
426.61 s
[really-safe-money-gen] + Nothing -> Just True
426.61 s
[really-safe-money-gen] s -> s
426.61 s
[really-safe-money-gen]
426.62 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:396:23-27:
426.62 s
[really-safe-money-gen] @@ -393,5 +393,5 @@
426.62 s
[really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
426.62 s
[really-safe-money-gen] where
426.62 s
[really-safe-money-gen] go = \case
426.62 s
[really-safe-money-gen] - Nothing -> Just True
426.62 s
[really-safe-money-gen] + Nothing -> Just False
426.62 s
[really-safe-money-gen] s -> s
426.62 s
[really-safe-money-gen]
426.72 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:396:23-27:
426.72 s
[really-safe-money-gen] @@ -393,5 +393,5 @@
426.72 s
[really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
426.72 s
[really-safe-money-gen] where
426.72 s
[really-safe-money-gen] go = \case
426.72 s
[really-safe-money-gen] - Nothing -> Just True
426.72 s
[really-safe-money-gen] + Nothing -> Just not (True)
426.72 s
[really-safe-money-gen] s -> s
426.72 s
[really-safe-money-gen]
426.82 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39:
426.82 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
426.82 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
426.82 s
[really-safe-money-gen] let currentDigits :: Word8
426.82 s
[really-safe-money-gen] currentDigits = digits dl
426.82 s
[really-safe-money-gen] - in if wantedDigits <= currentDigits
426.82 s
[really-safe-money-gen] + in if True
426.82 s
[really-safe-money-gen] then dl
426.82 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
426.82 s
[really-safe-money-gen] where
426.82 s
[really-safe-money-gen]
426.92 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39:
426.92 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
426.92 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
426.92 s
[really-safe-money-gen] let currentDigits :: Word8
426.92 s
[really-safe-money-gen] currentDigits = digits dl
426.92 s
[really-safe-money-gen] - in if wantedDigits <= currentDigits
426.92 s
[really-safe-money-gen] + in if False
426.92 s
[really-safe-money-gen] then dl
426.92 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
426.92 s
[really-safe-money-gen] where
426.92 s
[really-safe-money-gen]
427.01 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39:
427.01 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
427.01 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
427.01 s
[really-safe-money-gen] let currentDigits :: Word8
427.01 s
[really-safe-money-gen] currentDigits = digits dl
427.01 s
[really-safe-money-gen] - in if wantedDigits <= currentDigits
427.01 s
[really-safe-money-gen] + in if not (wantedDigits <= currentDigits)
427.01 s
[really-safe-money-gen] then dl
427.01 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
427.01 s
[really-safe-money-gen] where
427.01 s
[really-safe-money-gen]
427.11 s
[really-safe-money-gen] Testing mutation CondFlip at src/Numeric/DecimalLiteral.hs:368:7-62:
427.11 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
427.11 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
427.11 s
[really-safe-money-gen] let currentDigits :: Word8
427.11 s
[really-safe-money-gen] currentDigits = digits dl
427.12 s
[really-safe-money-gen] - in if wantedDigits <= currentDigits
427.12 s
[really-safe-money-gen] + in if wantedDigits <= currentDigits
427.12 s
[really-safe-money-gen] then dl
427.12 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
427.12 s
[really-safe-money-gen] where
427.12 s
[really-safe-money-gen]
427.21 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82:
427.21 s
[really-safe-money-gen] @@ -372,7 +372,7 @@
427.21 s
[really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
427.21 s
[really-safe-money-gen] increaseDigits 0 = id
427.21 s
[really-safe-money-gen] increaseDigits w = \case
427.21 s
[really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
427.21 s
[really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 0) (succ e))
427.21 s
[really-safe-money-gen]
427.21 s
[really-safe-money-gen] -- | Ensures that a positive literal has no sign
427.21 s
[really-safe-money-gen] --
427.21 s
[really-safe-money-gen]
427.32 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82:
427.32 s
[really-safe-money-gen] @@ -372,7 +372,7 @@
427.32 s
[really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
427.32 s
[really-safe-money-gen] increaseDigits 0 = id
427.32 s
[really-safe-money-gen] increaseDigits w = \case
427.32 s
[really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
427.32 s
[really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 1) (succ e))
427.32 s
[really-safe-money-gen]
427.32 s
[really-safe-money-gen] -- | Ensures that a positive literal has no sign
427.32 s
[really-safe-money-gen] --
427.32 s
[really-safe-money-gen]
427.42 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22:
427.42 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
427.42 s
[really-safe-money-gen] pure $ fromIntegral n
427.42 s
[really-safe-money-gen]
427.42 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
427.42 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
427.42 s
[really-safe-money-gen] +numSign a = if a >= 1 then Nothing else Just False
427.42 s
[really-safe-money-gen]
427.42 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
427.42 s
[really-safe-money-gen] signSignum = \case
427.42 s
[really-safe-money-gen]
427.52 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22:
427.52 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
427.52 s
[really-safe-money-gen] pure $ fromIntegral n
427.52 s
[really-safe-money-gen]
427.52 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
427.52 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
427.52 s
[really-safe-money-gen] +numSign a = if True then Nothing else Just False
427.52 s
[really-safe-money-gen]
427.52 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
427.52 s
[really-safe-money-gen] signSignum = \case
427.52 s
[really-safe-money-gen]
427.61 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22:
427.61 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
427.61 s
[really-safe-money-gen] pure $ fromIntegral n
427.61 s
[really-safe-money-gen]
427.61 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
427.61 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
427.61 s
[really-safe-money-gen] +numSign a = if False then Nothing else Just False
427.61 s
[really-safe-money-gen]
427.61 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
427.61 s
[really-safe-money-gen] signSignum = \case
427.61 s
[really-safe-money-gen]
427.71 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22:
427.71 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
427.71 s
[really-safe-money-gen] pure $ fromIntegral n
427.71 s
[really-safe-money-gen]
427.71 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
427.71 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
427.71 s
[really-safe-money-gen] +numSign a = if not (a >= 0) then Nothing else Just False
427.71 s
[really-safe-money-gen]
427.71 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
427.71 s
[really-safe-money-gen] signSignum = \case
427.71 s
[really-safe-money-gen]
427.80 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:46-51:
427.80 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
427.80 s
[really-safe-money-gen] pure $ fromIntegral n
427.80 s
[really-safe-money-gen]
427.80 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
427.81 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
427.81 s
[really-safe-money-gen] +numSign a = if a >= 0 then Nothing else Just True
427.81 s
[really-safe-money-gen]
427.81 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
427.81 s
[really-safe-money-gen] signSignum = \case
427.81 s
[really-safe-money-gen]
427.90 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:46-51:
427.90 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
427.90 s
[really-safe-money-gen] pure $ fromIntegral n
427.90 s
[really-safe-money-gen]
427.90 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
427.90 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
427.90 s
[really-safe-money-gen] +numSign a = if a >= 0 then Nothing else Just False
427.90 s
[really-safe-money-gen]
427.90 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
427.90 s
[really-safe-money-gen] signSignum = \case
427.90 s
[really-safe-money-gen]
428.00 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:337:46-51:
428.00 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
428.00 s
[really-safe-money-gen] pure $ fromIntegral n
428.00 s
[really-safe-money-gen]
428.00 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
428.00 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
428.00 s
[really-safe-money-gen] +numSign a = if a >= 0 then Nothing else Just not (False)
428.00 s
[really-safe-money-gen]
428.00 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
428.00 s
[really-safe-money-gen] signSignum = \case
428.00 s
[really-safe-money-gen]
428.10 s
[really-safe-money-gen] Testing mutation CondFlip at src/Numeric/DecimalLiteral.hs:337:13-51:
428.10 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
428.10 s
[really-safe-money-gen] pure $ fromIntegral n
428.10 s
[really-safe-money-gen]
428.10 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
428.10 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
428.10 s
[really-safe-money-gen] +numSign a = if a >= 0 then Nothing else Just False
428.10 s
[really-safe-money-gen]
428.10 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
428.10 s
[really-safe-money-gen] signSignum = \case
428.10 s
[really-safe-money-gen]
428.20 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46:
428.20 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
428.20 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
428.20 s
[really-safe-money-gen] toInt dl = do
428.20 s
[really-safe-money-gen] n <- toInteger dl
428.20 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
428.20 s
[really-safe-money-gen] + guard $ True
428.20 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
428.20 s
[really-safe-money-gen] pure $ fromIntegral n
428.20 s
[really-safe-money-gen]
428.20 s
[really-safe-money-gen]
428.30 s
[really-safe-money-gen] ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] USD
428.30 s
[really-safe-money-gen] rate
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] convert
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.75 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] ADA
428.30 s
[really-safe-money-gen] convert
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 1.23 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] rate
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.30 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] BTC
428.30 s
[really-safe-money-gen] convert
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 1.01 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] rate
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.27 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] CHF
428.30 s
[really-safe-money-gen] INR
428.30 s
[really-safe-money-gen] convert
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 1.15 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] rate
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] USD
428.30 s
[really-safe-money-gen] convert
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.67 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] rate
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.19 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] BTC
428.30 s
[really-safe-money-gen] convert
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 1.17 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] rate
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] CHF
428.30 s
[really-safe-money-gen] convert
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.67 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] rate
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] ADA
428.30 s
[really-safe-money-gen] rate
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] convert
428.30 s
[really-safe-money-gen] ✓ produces valid amounts 1.24 ms
428.30 s
[really-safe-money-gen] passed for all of 100 inputs.
428.30 s
[really-safe-money-gen] Money.AmountSpec
428.30 s
[really-safe-money-gen] rate
428.30 s
[really-safe-money-gen] ✓ produces valid conversion rates 57.40 ms
428.30 s
[really-safe-money-gen] passed for all of 10000 inputs.
428.30 s
[really-safe-money-gen] ✓ computes a rate that can be used to do a conversion without rounding 209.41 ms
428.31 s
[really-safe-money-gen] passed for all of 10000 inputs.
428.31 s
[really-safe-money-gen] ✓ computes this USD to CHF rate correctly 0.01 ms
428.31 s
[really-safe-money-gen] convert
428.31 s
[really-safe-money-gen] ✓ succeeds in converting 1:1 without rounding if the quantisation factor is the same 72.19 ms
428.31 s
[really-safe-money-gen] passed for all of 10000 inputs.
428.31 s
[really-safe-money-gen] ✓ converts this USD to CHF correctly 0.01 ms
428.31 s
[really-safe-money-gen] ✓ produces valid amounts 193.15 ms
428.31 s
[really-safe-money-gen] passed for all of 10000 inputs.
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Examples: 202504
428.31 s
[really-safe-money-gen] Passed: 346
428.31 s
[really-safe-money-gen] Failed: 0
428.31 s
[really-safe-money-gen] Sum of test runtimes: 8.33 seconds
428.31 s
[really-safe-money-gen] Test suite took: 8.34 seconds
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:396:23-27:
428.31 s
[really-safe-money-gen] @@ -393,5 +393,5 @@
428.31 s
[really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
428.31 s
[really-safe-money-gen] where
428.31 s
[really-safe-money-gen] go = \case
428.31 s
[really-safe-money-gen] - Nothing -> Just True
428.31 s
[really-safe-money-gen] + Nothing -> Just True
428.31 s
[really-safe-money-gen] s -> s
428.31 s
[really-safe-money-gen] Tests:
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
428.31 s
[really-safe-money-gen] setSignRequired
428.31 s
[really-safe-money-gen] ✓ produces valid values 0.71 ms
428.31 s
[really-safe-money-gen] passed for all of 100 inputs.
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Examples: 100
428.31 s
[really-safe-money-gen] Passed: 1
428.31 s
[really-safe-money-gen] Failed: 0
428.31 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
428.31 s
[really-safe-money-gen] Test suite took: 0.00 seconds
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:396:23-27:
428.31 s
[really-safe-money-gen] @@ -393,5 +393,5 @@
428.31 s
[really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
428.31 s
[really-safe-money-gen] where
428.31 s
[really-safe-money-gen] go = \case
428.31 s
[really-safe-money-gen] - Nothing -> Just True
428.31 s
[really-safe-money-gen] + Nothing -> Just False
428.31 s
[really-safe-money-gen] s -> s
428.31 s
[really-safe-money-gen] Tests:
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
428.31 s
[really-safe-money-gen] setSignRequired
428.31 s
[really-safe-money-gen] ✓ produces valid values 0.35 ms
428.31 s
[really-safe-money-gen] passed for all of 100 inputs.
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Examples: 100
428.31 s
[really-safe-money-gen] Passed: 1
428.31 s
[really-safe-money-gen] Failed: 0
428.31 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
428.31 s
[really-safe-money-gen] Test suite took: 0.00 seconds
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:396:23-27:
428.31 s
[really-safe-money-gen] @@ -393,5 +393,5 @@
428.31 s
[really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
428.31 s
[really-safe-money-gen] where
428.31 s
[really-safe-money-gen] go = \case
428.31 s
[really-safe-money-gen] - Nothing -> Just True
428.31 s
[really-safe-money-gen] + Nothing -> Just not (True)
428.31 s
[really-safe-money-gen] s -> s
428.31 s
[really-safe-money-gen] Tests:
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
428.31 s
[really-safe-money-gen] setSignRequired
428.31 s
[really-safe-money-gen] ✓ produces valid values 0.28 ms
428.31 s
[really-safe-money-gen] passed for all of 100 inputs.
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Examples: 100
428.31 s
[really-safe-money-gen] Passed: 1
428.31 s
[really-safe-money-gen] Failed: 0
428.31 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
428.31 s
[really-safe-money-gen] Test suite took: 0.00 seconds
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22:
428.31 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
428.31 s
[really-safe-money-gen] pure $ fromIntegral n
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
428.31 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
428.31 s
[really-safe-money-gen] +numSign a = if a >= 1 then Nothing else Just False
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
428.31 s
[really-safe-money-gen] signSignum = \case
428.31 s
[really-safe-money-gen] Tests:
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
428.31 s
[really-safe-money-gen] Int
428.31 s
[really-safe-money-gen] fromInt
428.31 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.68 ms
428.31 s
[really-safe-money-gen] passed for all of 100 inputs.
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Examples: 100
428.31 s
[really-safe-money-gen] Passed: 1
428.31 s
[really-safe-money-gen] Failed: 0
428.31 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
428.31 s
[really-safe-money-gen] Test suite took: 0.00 seconds
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46:
428.31 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
428.31 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
428.31 s
[really-safe-money-gen] toInt dl = do
428.31 s
[really-safe-money-gen] n <- toInteger dl
428.31 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
428.31 s
[really-safe-money-gen] + guard $ True
428.31 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
428.31 s
[really-safe-money-gen] pure $ fromIntegral n
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Tests:
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
428.31 s
[really-safe-money-gen] Int
428.31 s
[really-safe-money-gen] toInt
428.31 s
[really-safe-money-gen] ✓ renders to valid words 0.75 ms
428.31 s
[really-safe-money-gen] passed for all of 100 inputs.
428.31 s
[really-safe-money-gen] fromInt
428.31 s
[really-safe-money-gen] ✓ Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46:
428.31 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
428.31 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
428.31 s
[really-safe-money-gen] toInt dl = do
428.31 s
[really-safe-money-gen] n <- toInteger dl
428.31 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
428.31 s
[really-safe-money-gen] + guard $ False
428.31 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
428.31 s
[really-safe-money-gen] pure $ fromIntegral n
428.31 s
[really-safe-money-gen]
428.31 s
[really-safe-money-gen]
428.40 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46:
428.40 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
428.40 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
428.40 s
[really-safe-money-gen] toInt dl = do
428.40 s
[really-safe-money-gen] n <- toInteger dl
428.40 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
428.40 s
[really-safe-money-gen] + guard $ not (n <= fromIntegral (maxBound :: Int))
428.40 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
428.40 s
[really-safe-money-gen] pure $ fromIntegral n
428.40 s
[really-safe-money-gen]
428.40 s
[really-safe-money-gen]
428.50 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46:
428.50 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
428.50 s
[really-safe-money-gen] toInt dl = do
428.50 s
[really-safe-money-gen] n <- toInteger dl
428.50 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
428.50 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
428.50 s
[really-safe-money-gen] + guard $ True
428.50 s
[really-safe-money-gen] pure $ fromIntegral n
428.50 s
[really-safe-money-gen]
428.50 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
428.50 s
[really-safe-money-gen]
428.59 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46:
428.59 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
428.59 s
[really-safe-money-gen] toInt dl = do
428.59 s
[really-safe-money-gen] n <- toInteger dl
428.59 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
428.59 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
428.59 s
[really-safe-money-gen] + guard $ False
428.59 s
[really-safe-money-gen] pure $ fromIntegral n
428.59 s
[really-safe-money-gen]
428.59 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
428.59 s
[really-safe-money-gen]
428.69 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46:
428.69 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
428.69 s
[really-safe-money-gen] toInt dl = do
428.69 s
[really-safe-money-gen] n <- toInteger dl
428.69 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
428.69 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
428.69 s
[really-safe-money-gen] + guard $ not (n >= fromIntegral (minBound :: Int))
428.69 s
[really-safe-money-gen] pure $ fromIntegral n
428.69 s
[really-safe-money-gen]
428.69 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
428.69 s
[really-safe-money-gen]
428.78 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68:
428.78 s
[really-safe-money-gen] @@ -312,7 +312,7 @@
428.78 s
[really-safe-money-gen]
428.78 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from an 'Integer'
428.78 s
[really-safe-money-gen] fromInteger :: Integer -> DecimalLiteral
428.78 s
[really-safe-money-gen] -fromInteger n = DecimalLiteral (numSign n) (fromIntegral (abs n)) 0
428.78 s
[really-safe-money-gen] +fromInteger n = DecimalLiteral (numSign n) (fromIntegral (abs n)) 1
428.78 s
[really-safe-money-gen]
428.78 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into an 'Integer'
428.78 s
[really-safe-money-gen] toInteger :: DecimalLiteral -> Maybe Integer
428.78 s
[really-safe-money-gen]
428.87 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43:
428.87 s
[really-safe-money-gen] @@ -301,7 +301,7 @@
428.87 s
[really-safe-money-gen]
428.87 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
428.87 s
[really-safe-money-gen] fromNatural :: Natural -> DecimalLiteral
428.87 s
[really-safe-money-gen] -fromNatural n = DecimalLiteral Nothing n 0
428.87 s
[really-safe-money-gen] +fromNatural n = DecimalLiteral Nothing n 1
428.87 s
[really-safe-money-gen]
428.87 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Natural'
428.87 s
[really-safe-money-gen] toNatural :: DecimalLiteral -> Maybe Natural
428.87 s
[really-safe-money-gen]
428.97 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47:
428.97 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
428.97 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
428.97 s
[really-safe-money-gen] toWord dl = do
428.97 s
[really-safe-money-gen] n <- toNatural dl
428.97 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
428.97 s
[really-safe-money-gen] + guard $ True
428.97 s
[really-safe-money-gen] pure $ fromIntegral n
428.97 s
[really-safe-money-gen]
428.97 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
428.97 s
[really-safe-money-gen]
429.06 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47:
429.06 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
429.06 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
429.06 s
[really-safe-money-gen] toWord dl = do
429.06 s
[really-safe-money-gen] n <- toNatural dl
429.06 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
429.06 s
[really-safe-money-gen] + guard $ False
429.06 s
[really-safe-money-gen] pure $ fromIntegral n
429.06 s
[really-safe-money-gen]
429.06 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
429.06 s
[really-safe-money-gen]
429.15 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47:
429.15 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
429.15 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
429.15 s
[really-safe-money-gen] toWord dl = do
429.15 s
[really-safe-money-gen] n <- toNatural dl
429.15 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
429.15 s
[really-safe-money-gen] + guard $ not (n <= fromIntegral (maxBound :: Word))
429.15 s
[really-safe-money-gen] pure $ fromIntegral n
429.15 s
[really-safe-money-gen]
429.15 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
429.15 s
[really-safe-money-gen]
429.24 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35:
429.24 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
429.24 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
429.24 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
429.24 s
[really-safe-money-gen] Just False -> Nothing
429.24 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
429.24 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / (0 ^ e)
429.24 s
[really-safe-money-gen]
429.24 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
429.24 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
429.24 s
[really-safe-money-gen]
429.34 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35:
429.34 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
429.34 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
429.34 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
429.34 s
[really-safe-money-gen] Just False -> Nothing
429.34 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
429.34 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
429.34 s
[really-safe-money-gen]
429.34 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
429.34 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
429.34 s
[really-safe-money-gen]
429.43 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35:
429.43 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
429.43 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
429.43 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
429.43 s
[really-safe-money-gen] Just False -> Nothing
429.43 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
429.43 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / (-10 ^ e)
429.43 s
[really-safe-money-gen]
429.43 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
429.43 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
429.43 s
[really-safe-money-gen]
429.52 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44:
429.52 s
[really-safe-money-gen] @@ -233,7 +233,7 @@
429.52 s
[really-safe-money-gen] -- >>> fromRatio (1 % 3)
429.52 s
[really-safe-money-gen] -- Nothing
429.52 s
[really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
429.52 s
[really-safe-money-gen] -fromRatio = fromRationalRepetendLimited 256
429.53 s
[really-safe-money-gen] +fromRatio = fromRationalRepetendLimited 0
429.53 s
[really-safe-money-gen] where
429.53 s
[really-safe-money-gen] fromRationalRepetendLimited ::
429.53 s
[really-safe-money-gen] -- limit
429.53 s
[really-safe-money-gen]
429.62 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44:
429.62 s
[really-safe-money-gen] @@ -233,7 +233,7 @@
429.62 s
[really-safe-money-gen] -- >>> fromRatio (1 % 3)
429.62 s
[really-safe-money-gen] -- Nothing
429.62 s
[really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
429.62 s
[really-safe-money-gen] -fromRatio = fromRationalRepetendLimited 256
429.62 s
[really-safe-money-gen] +fromRatio = fromRationalRepetendLimited 1
429.62 s
[really-safe-money-gen] where
429.62 s
[really-safe-money-gen] fromRationalRepetendLimited ::
429.62 s
[really-safe-money-gen] -- limit
429.62 s
[really-safe-money-gen]
429.72 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44:
429.72 s
[really-safe-money-gen] @@ -233,7 +233,7 @@
429.72 s
[really-safe-money-gen] -- >>> fromRatio (1 % 3)
429.72 s
[really-safe-money-gen] -- Nothing
429.72 s
[really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
429.72 s
[really-safe-money-gen] -fromRatio = fromRationalRepetendLimited 256
429.72 s
[really-safe-money-gen] +fromRatio = fromRationalRepetendLimited -256
429.72 s
[really-safe-money-gen] where
429.72 s
[really-safe-money-gen] fromRationalRepetendLimited ::
429.72 s
[really-safe-money-gen] -- limit
429.72 s
[really-safe-money-gen]
429.81 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15:
429.81 s
[really-safe-money-gen] @@ -241,7 +241,7 @@
429.81 s
[really-safe-money-gen] Ratio Natural ->
429.81 s
[really-safe-money-gen] Maybe DecimalLiteral
429.81 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
429.81 s
[really-safe-money-gen] - | d == 0 = Nothing
429.81 s
[really-safe-money-gen] + | d == 1 = Nothing
429.81 s
[really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
429.81 s
[really-safe-money-gen] where
429.81 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
429.81 s
[really-safe-money-gen]
429.91 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15:
429.91 s
[really-safe-money-gen] @@ -241,7 +241,7 @@
429.91 s
[really-safe-money-gen] Ratio Natural ->
429.91 s
[really-safe-money-gen] Maybe DecimalLiteral
429.91 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
429.91 s
[really-safe-money-gen] - | d == 0 = Nothing
429.91 s
[really-safe-money-gen] + | True = Nothing
429.91 s
[really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
429.91 s
[really-safe-money-gen] where
429.91 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
429.91 s
[really-safe-money-gen]
430.01 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15:
430.01 s
[really-safe-money-gen] @@ -241,7 +241,7 @@
430.01 s
[really-safe-money-gen] Ratio Natural ->
430.01 s
[really-safe-money-gen] Maybe DecimalLiteral
430.01 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
430.01 s
[really-safe-money-gen] - | d == 0 = Nothing
430.01 s
[really-safe-money-gen] + | False = Nothing
430.01 s
[really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
430.01 s
[really-safe-money-gen] where
430.01 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
430.01 s
[really-safe-money-gen]
430.12 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15:
430.12 s
[really-safe-money-gen] @@ -241,7 +241,7 @@
430.12 s
[really-safe-money-gen] Ratio Natural ->
430.12 s
[really-safe-money-gen] Maybe DecimalLiteral
430.12 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
430.12 s
[really-safe-money-gen] - | d == 0 = Nothing
430.12 s
[really-safe-money-gen] + | not (d == 0) = Nothing
430.12 s
[really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
430.12 s
[really-safe-money-gen] where
430.12 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
430.12 s
[really-safe-money-gen]
430.22 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:245:9-18:
430.22 s
[really-safe-money-gen] @@ -242,7 +242,7 @@
430.22 s
[really-safe-money-gen] Maybe DecimalLiteral
430.22 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
430.22 s
[really-safe-money-gen] | d == 0 = Nothing
430.22 s
[really-safe-money-gen] - | otherwise = toLiteral Nothing <$> longDiv num
430.22 s
[really-safe-money-gen] + | True = toLiteral Nothing <$> longDiv num
430.22 s
[really-safe-money-gen] where
430.22 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
430.22 s
[really-safe-money-gen] d = denominator rational
430.22 s
[really-safe-money-gen]
430.31 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:245:9-18:
430.31 s
[really-safe-money-gen] @@ -242,7 +242,7 @@
430.31 s
[really-safe-money-gen] Maybe DecimalLiteral
430.31 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
430.31 s
[really-safe-money-gen] | d == 0 = Nothing
430.31 s
[really-safe-money-gen] - | otherwise = toLiteral Nothing <$> longDiv num
430.31 s
[really-safe-money-gen] + | False = toLiteral Nothing <$> longDiv num
430.31 s
[really-safe-money-gen] where
430.31 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
430.31 s
[really-safe-money-gen] d = denominator rational
430.31 s
[really-safe-money-gen]
430.41 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:245:9-18:
430.41 s
[really-safe-money-gen] @@ -242,7 +242,7 @@
430.41 s
[really-safe-money-gen] Maybe DecimalLiteral
430.41 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
430.41 s
[really-safe-money-gen] | d == 0 = Nothing
430.41 s
[really-safe-money-gen] - | otherwise = toLiteral Nothing <$> longDiv num
430.41 s
[really-safe-money-gen] + | not (otherwise) = toLiteral Nothing <$> longDiv num
430.41 s
[really-safe-money-gen] where
430.41 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
430.41 s
[really-safe-money-gen] d = denominator rational
430.41 s
[really-safe-money-gen]
430.51 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26:
430.51 s
[really-safe-money-gen] @@ -261,7 +261,7 @@
430.51 s
[really-safe-money-gen] Just (c, e)
430.51 s
[really-safe-money-gen] longDivWithLimit !c !e ns !n
430.51 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
430.51 s
[really-safe-money-gen] - | S.member n ns = Nothing
430.51 s
[really-safe-money-gen] + | True = Nothing
430.51 s
[really-safe-money-gen] -- Over the limit, stop trying
430.51 s
[really-safe-money-gen] | e >= l = Nothing
430.51 s
[really-safe-money-gen] | n < d =
430.51 s
[really-safe-money-gen]
430.60 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26:
430.60 s
[really-safe-money-gen] @@ -261,7 +261,7 @@
430.60 s
[really-safe-money-gen] Just (c, e)
430.60 s
[really-safe-money-gen] longDivWithLimit !c !e ns !n
430.61 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
430.61 s
[really-safe-money-gen] - | S.member n ns = Nothing
430.61 s
[really-safe-money-gen] + | False = Nothing
430.61 s
[really-safe-money-gen] -- Over the limit, stop trying
430.61 s
[really-safe-money-gen] | e >= l = Nothing
430.61 s
[really-safe-money-gen] | n < d =
430.61 s
[really-safe-money-gen]
430.70 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26:
430.70 s
[really-safe-money-gen] @@ -261,7 +261,7 @@
430.70 s
[really-safe-money-gen] Just (c, e)
430.70 s
[really-safe-money-gen] longDivWithLimit !c !e ns !n
430.70 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
430.70 s
[really-safe-money-gen] - | S.member n ns = Nothing
430.70 s
[really-safe-money-gen] + | not (S.member n ns) = Nothing
430.70 s
[really-safe-money-gen] -- Over the limit, stop trying
430.70 s
[really-safe-money-gen] | e >= l = Nothing
430.70 s
[really-safe-money-gen] | n < d =
430.70 s
[really-safe-money-gen]
430.79 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19:
430.79 s
[really-safe-money-gen] @@ -263,7 +263,7 @@
430.79 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
430.79 s
[really-safe-money-gen] | S.member n ns = Nothing
430.79 s
[really-safe-money-gen] -- Over the limit, stop trying
430.79 s
[really-safe-money-gen] - | e >= l = Nothing
430.79 s
[really-safe-money-gen] + | True = Nothing
430.79 s
[really-safe-money-gen] | n < d =
430.80 s
[really-safe-money-gen] let !ns' = S.insert n ns
430.80 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
430.80 s
[really-safe-money-gen]
430.89 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19:
430.89 s
[really-safe-money-gen] @@ -263,7 +263,7 @@
430.89 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
430.89 s
[really-safe-money-gen] | S.member n ns = Nothing
430.89 s
[really-safe-money-gen] -- Over the limit, stop trying
430.89 s
[really-safe-money-gen] - | e >= l = Nothing
430.89 s
[really-safe-money-gen] + | False = Nothing
430.89 s
[really-safe-money-gen] | n < d =
430.89 s
[really-safe-money-gen] let !ns' = S.insert n ns
430.89 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
430.89 s
[really-safe-money-gen]
430.99 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19:
430.99 s
[really-safe-money-gen] @@ -263,7 +263,7 @@
430.99 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
430.99 s
[really-safe-money-gen] | S.member n ns = Nothing
430.99 s
[really-safe-money-gen] -- Over the limit, stop trying
430.99 s
[really-safe-money-gen] - | e >= l = Nothing
430.99 s
[really-safe-money-gen] + | not (e >= l) = Nothing
430.99 s
[really-safe-money-gen] | n < d =
430.99 s
[really-safe-money-gen] let !ns' = S.insert n ns
430.99 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
430.99 s
[really-safe-money-gen]
431.09 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18:
431.09 s
[really-safe-money-gen] @@ -264,7 +264,7 @@
431.09 s
[really-safe-money-gen] | S.member n ns = Nothing
431.09 s
[really-safe-money-gen] -- Over the limit, stop trying
431.09 s
[really-safe-money-gen] | e >= l = Nothing
431.09 s
[really-safe-money-gen] - | n < d =
431.09 s
[really-safe-money-gen] + | True =
431.09 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.09 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.09 s
[really-safe-money-gen] | otherwise =
431.09 s
[really-safe-money-gen]
431.19 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18:
431.19 s
[really-safe-money-gen] @@ -264,7 +264,7 @@
431.19 s
[really-safe-money-gen] | S.member n ns = Nothing
431.19 s
[really-safe-money-gen] -- Over the limit, stop trying
431.19 s
[really-safe-money-gen] | e >= l = Nothing
431.20 s
[really-safe-money-gen] - | n < d =
431.20 s
[really-safe-money-gen] + | False =
431.20 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.20 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.20 s
[really-safe-money-gen] | otherwise =
431.20 s
[really-safe-money-gen]
431.29 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18:
431.29 s
[really-safe-money-gen] @@ -264,7 +264,7 @@
431.29 s
[really-safe-money-gen] | S.member n ns = Nothing
431.29 s
[really-safe-money-gen] -- Over the limit, stop trying
431.29 s
[really-safe-money-gen] | e >= l = Nothing
431.29 s
[really-safe-money-gen] - | n < d =
431.29 s
[really-safe-money-gen] + | not (n < d) =
431.29 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.29 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.29 s
[really-safe-money-gen] | otherwise =
431.29 s
[really-safe-money-gen]
431.39 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43:
431.39 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
431.39 s
[really-safe-money-gen] | e >= l = Nothing
431.39 s
[really-safe-money-gen] | n < d =
431.39 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.39 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.39 s
[really-safe-money-gen] + in longDivWithLimit (c * 0) (succ e) ns' (n * 10)
431.39 s
[really-safe-money-gen] | otherwise =
431.39 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
431.39 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
431.39 s
[really-safe-money-gen]
431.49 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43:
431.49 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
431.49 s
[really-safe-money-gen] | e >= l = Nothing
431.49 s
[really-safe-money-gen] | n < d =
431.49 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.49 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.49 s
[really-safe-money-gen] + in longDivWithLimit (c * 1) (succ e) ns' (n * 10)
431.49 s
[really-safe-money-gen] | otherwise =
431.49 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
431.49 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
431.49 s
[really-safe-money-gen]
431.60 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65:
431.60 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
431.78 s
[really-safe-money-gen] | e >= l = Nothing
431.78 s
[really-safe-money-gen] | n < d =
431.78 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.78 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.78 s
[really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n * 0)
431.78 s
[really-safe-money-gen] | otherwise =
431.78 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
431.78 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
431.78 s
[really-safe-money-gen]
431.78 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65:
431.78 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
431.78 s
[really-safe-money-gen] | e >= l = Nothing
431.78 s
[really-safe-money-gen] | n < d =
431.78 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.78 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.78 s
[really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n * 1)
431.78 s
[really-safe-money-gen] | otherwise =
431.78 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
431.78 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
431.78 s
[really-safe-money-gen]
431.81 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:270:13-22:
431.81 s
[really-safe-money-gen] @@ -267,7 +267,7 @@
431.81 s
[really-safe-money-gen] | n < d =
431.81 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.81 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.81 s
[really-safe-money-gen] - | otherwise =
431.81 s
[really-safe-money-gen] + | True =
431.81 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
431.81 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
431.81 s
[really-safe-money-gen]
431.81 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] can parse any rendered literal 0.34 ms
431.91 s
[really-safe-money-gen] passed for all of 100 inputs.
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Examples: 200
431.91 s
[really-safe-money-gen] Passed: 2
431.91 s
[really-safe-money-gen] Failed: 0
431.91 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
431.91 s
[really-safe-money-gen] Test suite took: 0.00 seconds
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46:
431.91 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
431.91 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
431.91 s
[really-safe-money-gen] toInt dl = do
431.91 s
[really-safe-money-gen] n <- toInteger dl
431.91 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
431.91 s
[really-safe-money-gen] + guard $ False
431.91 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
431.91 s
[really-safe-money-gen] pure $ fromIntegral n
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Tests:
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
431.91 s
[really-safe-money-gen] Int
431.91 s
[really-safe-money-gen] toInt
431.91 s
[really-safe-money-gen] ✓ renders to valid words 0.57 ms
431.91 s
[really-safe-money-gen] passed for all of 100 inputs.
431.91 s
[really-safe-money-gen] fromInt
431.91 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.33 ms
431.91 s
[really-safe-money-gen] passed for all of 100 inputs.
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Examples: 200
431.91 s
[really-safe-money-gen] Passed: 2
431.91 s
[really-safe-money-gen] Failed: 0
431.91 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
431.91 s
[really-safe-money-gen] Test suite took: 0.00 seconds
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46:
431.91 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
431.91 s
[really-safe-money-gen] toInt dl = do
431.91 s
[really-safe-money-gen] n <- toInteger dl
431.91 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
431.91 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
431.91 s
[really-safe-money-gen] + guard $ True
431.91 s
[really-safe-money-gen] pure $ fromIntegral n
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
431.91 s
[really-safe-money-gen] Tests:
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
431.91 s
[really-safe-money-gen] Int
431.91 s
[really-safe-money-gen] toInt
431.91 s
[really-safe-money-gen] ✓ renders to valid words 0.60 ms
431.91 s
[really-safe-money-gen] passed for all of 100 inputs.
431.91 s
[really-safe-money-gen] fromInt
431.91 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.46 ms
431.91 s
[really-safe-money-gen] passed for all of 100 inputs.
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Examples: 200
431.91 s
[really-safe-money-gen] Passed: 2
431.91 s
[really-safe-money-gen] Failed: 0
431.91 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
431.91 s
[really-safe-money-gen] Test suite took: 0.00 seconds
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46:
431.91 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
431.91 s
[really-safe-money-gen] toInt dl = do
431.91 s
[really-safe-money-gen] n <- toInteger dl
431.91 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
431.91 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
431.91 s
[really-safe-money-gen] + guard $ False
431.91 s
[really-safe-money-gen] pure $ fromIntegral n
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
431.91 s
[really-safe-money-gen] Tests:
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
431.91 s
[really-safe-money-gen] Int
431.91 s
[really-safe-money-gen] toInt
431.91 s
[really-safe-money-gen] ✓ renders to valid words 0.79 ms
431.91 s
[really-safe-money-gen] passed for all of 100 inputs.
431.91 s
[really-safe-money-gen] fromInt
431.91 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.62 ms
431.91 s
[really-safe-money-gen] passed for all of 100 inputs.
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Examples: 200
431.91 s
[really-safe-money-gen] Passed: 2
431.91 s
[really-safe-money-gen] Failed: 0
431.91 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
431.91 s
[really-safe-money-gen] Test suite took: 0.00 seconds
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43:
431.91 s
[really-safe-money-gen] @@ -301,7 +301,7 @@
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
431.91 s
[really-safe-money-gen] fromNatural :: Natural -> DecimalLiteral
431.91 s
[really-safe-money-gen] -fromNatural n = DecimalLiteral Nothing n 0
431.91 s
[really-safe-money-gen] +fromNatural n = DecimalLiteral Nothing n 1
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Natural'
431.91 s
[really-safe-money-gen] toNatural :: DecimalLiteral -> Maybe Natural
431.91 s
[really-safe-money-gen] Tests:
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
431.91 s
[really-safe-money-gen] Natural
431.91 s
[really-safe-money-gen] fromNatural
431.91 s
[really-safe-money-gen] ✓ renders to valid decimal literals 0.19 ms
431.91 s
[really-safe-money-gen] passed for all of 100 inputs.
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Examples: 100
431.91 s
[really-safe-money-gen] Passed: 1
431.91 s
[really-safe-money-gen] Failed: 0
431.91 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
431.91 s
[really-safe-money-gen] Test suite took: 0.00 seconds
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47:
431.91 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
431.91 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
431.91 s
[really-safe-money-gen] toWord dl = do
431.91 s
[really-safe-money-gen] n <- toNatural dl
431.91 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
431.91 s
[really-safe-money-gen] + guard $ True
431.91 s
[really-safe-money-gen] pure $ fromIntegral n
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
431.91 s
[really-safe-money-gen] Tests:
431.91 s
[really-safe-money-gen]
431.91 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
431.91 s
[really-safe-money-gen] Natural
431.91 s
[really-safe-money-gen] fromNatural
431.91 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.21 ms
431.91 s
[really-safe-money-gen] passed for all of 100 inputs.
431.91 s
[really-safe-money-gen] Word
431.91 s
[really-safe-money-gen] fromWord
431.92 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.61 ms
431.92 s
[really-safe-money-gen] passed for all of 100 inputs.
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Examples: 200
431.92 s
[really-safe-money-gen] Passed: 2
431.92 s
[really-safe-money-gen] Failed: 0
431.92 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
431.92 s
[really-safe-money-gen] Test suite took: 0.00 seconds
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47:
431.92 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
431.92 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
431.92 s
[really-safe-money-gen] toWord dl = do
431.92 s
[really-safe-money-gen] n <- toNatural dl
431.92 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
431.92 s
[really-safe-money-gen] + guard $ False
431.92 s
[really-safe-money-gen] pure $ fromIntegral n
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
431.92 s
[really-safe-money-gen] Tests:
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
431.92 s
[really-safe-money-gen] Natural
431.92 s
[really-safe-money-gen] fromNatural
431.92 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.19 ms
431.92 s
[really-safe-money-gen] passed for all of 100 inputs.
431.92 s
[really-safe-money-gen] Word
431.92 s
[really-safe-money-gen] fromWord
431.92 s
[really-safe-money-gen] ✓ can parse any rendered literal 0.61 ms
431.92 s
[really-safe-money-gen] passed for all of 100 inputs.
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Examples: 200
431.92 s
[really-safe-money-gen] Passed: 2
431.92 s
[really-safe-money-gen] Failed: 0
431.92 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
431.92 s
[really-safe-money-gen] Test suite took: 0.00 seconds
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:245:9-18:
431.92 s
[really-safe-money-gen] @@ -242,7 +242,7 @@
431.92 s
[really-safe-money-gen] Maybe DecimalLiteral
431.92 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
431.92 s
[really-safe-money-gen] | d == 0 = Nothing
431.92 s
[really-safe-money-gen] - | otherwise = toLiteral Nothing <$> longDiv num
431.92 s
[really-safe-money-gen] + | True = toLiteral Nothing <$> longDiv num
431.92 s
[really-safe-money-gen] where
431.92 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
431.92 s
[really-safe-money-gen] d = denominator rational
431.92 s
[really-safe-money-gen] Tests:
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
431.92 s
[really-safe-money-gen] Rational
431.92 s
[really-safe-money-gen] ✓ can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 0.04 ms
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Passed: 1
431.92 s
[really-safe-money-gen] Failed: 0
431.92 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
431.92 s
[really-safe-money-gen] Test suite took: 0.00 seconds
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:245:9-18:
431.92 s
[really-safe-money-gen] @@ -242,7 +242,7 @@
431.92 s
[really-safe-money-gen] Maybe DecimalLiteral
431.92 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
431.92 s
[really-safe-money-gen] | d == 0 = Nothing
431.92 s
[really-safe-money-gen] - | otherwise = toLiteral Nothing <$> longDiv num
431.92 s
[really-safe-money-gen] + | False = toLiteral Nothing <$> longDiv num
431.92 s
[really-safe-money-gen] where
431.92 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
431.92 s
[really-safe-money-gen] d = denominator rational
431.92 s
[really-safe-money-gen] Tests:
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
431.92 s
[really-safe-money-gen] Rational
431.92 s
[really-safe-money-gen] ✓ can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 0.06 ms
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Passed: 1
431.92 s
[really-safe-money-gen] Failed: 0
431.92 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
431.92 s
[really-safe-money-gen] Test suite took: 0.00 seconds
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:270:13-22:
431.92 s
[really-safe-money-gen] @@ -267,7 +267,7 @@
431.92 s
[really-safe-money-gen] | n < d =
431.92 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.92 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.92 s
[really-safe-money-gen] - | otherwise =
431.92 s
[really-safe-money-gen] + | True =
431.92 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
431.92 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Tests:
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
431.92 s
[really-safe-money-gen] Rational
431.92 s
[really-safe-money-gen] ✓ can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 0.0Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:270:13-22:
431.92 s
[really-safe-money-gen] @@ -267,7 +267,7 @@
431.92 s
[really-safe-money-gen] | n < d =
431.92 s
[really-safe-money-gen] let !ns' = S.insert n ns
431.92 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
431.92 s
[really-safe-money-gen] - | otherwise =
431.92 s
[really-safe-money-gen] + | False =
431.92 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
431.92 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
431.92 s
[really-safe-money-gen]
431.92 s
[really-safe-money-gen]
432.00 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:270:13-22:
432.00 s
[really-safe-money-gen] @@ -267,7 +267,7 @@
432.00 s
[really-safe-money-gen] | n < d =
432.00 s
[really-safe-money-gen] let !ns' = S.insert n ns
432.00 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
432.00 s
[really-safe-money-gen] - | otherwise =
432.00 s
[really-safe-money-gen] + | not (otherwise) =
432.00 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
432.00 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
432.00 s
[really-safe-money-gen]
432.00 s
[really-safe-money-gen]
432.10 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37:
432.10 s
[really-safe-money-gen] @@ -249,7 +249,7 @@
432.10 s
[really-safe-money-gen] num = numerator rational
432.10 s
[really-safe-money-gen]
432.10 s
[really-safe-money-gen] longDiv :: Natural -> Maybe (Natural, Int)
432.10 s
[really-safe-money-gen] - longDiv = longDivWithLimit 0 0 S.empty
432.10 s
[really-safe-money-gen] + longDiv = longDivWithLimit 1 0 S.empty
432.10 s
[really-safe-money-gen]
432.10 s
[really-safe-money-gen] longDivWithLimit ::
432.10 s
[really-safe-money-gen] Natural ->
432.10 s
[really-safe-money-gen]
432.20 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39:
432.20 s
[really-safe-money-gen] @@ -249,7 +249,7 @@
432.20 s
[really-safe-money-gen] num = numerator rational
432.20 s
[really-safe-money-gen]
432.20 s
[really-safe-money-gen] longDiv :: Natural -> Maybe (Natural, Int)
432.20 s
[really-safe-money-gen] - longDiv = longDivWithLimit 0 0 S.empty
432.20 s
[really-safe-money-gen] + longDiv = longDivWithLimit 0 1 S.empty
432.20 s
[really-safe-money-gen]
432.20 s
[really-safe-money-gen] longDivWithLimit ::
432.20 s
[really-safe-money-gen] Natural ->
432.20 s
[really-safe-money-gen]
432.29 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41:
432.29 s
[really-safe-money-gen] @@ -220,7 +220,7 @@
432.29 s
[really-safe-money-gen] -- (-3) % 10
432.29 s
[really-safe-money-gen] toRational :: DecimalLiteral -> Rational
432.29 s
[really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
432.29 s
[really-safe-money-gen] - signSignum mSign (fromIntegral m / (10 ^ e))
432.29 s
[really-safe-money-gen] + signSignum mSign (fromIntegral m / (0 ^ e))
432.29 s
[really-safe-money-gen]
432.29 s
[really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
432.29 s
[really-safe-money-gen] --
432.29 s
[really-safe-money-gen]
432.38 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41:
432.38 s
[really-safe-money-gen] @@ -220,7 +220,7 @@
432.38 s
[really-safe-money-gen] -- (-3) % 10
432.38 s
[really-safe-money-gen] toRational :: DecimalLiteral -> Rational
432.38 s
[really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
432.38 s
[really-safe-money-gen] - signSignum mSign (fromIntegral m / (10 ^ e))
432.38 s
[really-safe-money-gen] + signSignum mSign (fromIntegral m / (1 ^ e))
432.38 s
[really-safe-money-gen]
432.38 s
[really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
432.38 s
[really-safe-money-gen] --
432.38 s
[really-safe-money-gen]
432.47 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41:
432.47 s
[really-safe-money-gen] @@ -220,7 +220,7 @@
432.47 s
[really-safe-money-gen] -- (-3) % 10
432.47 s
[really-safe-money-gen] toRational :: DecimalLiteral -> Rational
432.47 s
[really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
432.47 s
[really-safe-money-gen] - signSignum mSign (fromIntegral m / (10 ^ e))
432.47 s
[really-safe-money-gen] + signSignum mSign (fromIntegral m / (-10 ^ e))
432.47 s
[really-safe-money-gen]
432.47 s
[really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
432.47 s
[really-safe-money-gen] --
432.47 s
[really-safe-money-gen]
432.56 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10:
432.56 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
432.56 s
[really-safe-money-gen] -- Nothing
432.56 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
432.56 s
[really-safe-money-gen] fromRational (n :% d)
432.56 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.56 s
[really-safe-money-gen] + | n < 1 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.56 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
432.56 s
[really-safe-money-gen]
432.56 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
432.56 s
[really-safe-money-gen]
432.65 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10:
432.65 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
432.65 s
[really-safe-money-gen] -- Nothing
432.65 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
432.65 s
[really-safe-money-gen] fromRational (n :% d)
432.65 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.65 s
[really-safe-money-gen] + | True = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.65 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
432.65 s
[really-safe-money-gen]
432.65 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
432.65 s
[really-safe-money-gen]
432.75 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10:
432.75 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
432.75 s
[really-safe-money-gen] -- Nothing
432.75 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
432.75 s
[really-safe-money-gen] fromRational (n :% d)
432.75 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.75 s
[really-safe-money-gen] + | False = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.75 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
432.75 s
[really-safe-money-gen]
432.75 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
432.75 s
[really-safe-money-gen]
432.85 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10:
432.85 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
432.85 s
[really-safe-money-gen] -- Nothing
432.85 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
432.85 s
[really-safe-money-gen] fromRational (n :% d)
432.85 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.85 s
[really-safe-money-gen] + | not (n < 0) = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.85 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
432.85 s
[really-safe-money-gen]
432.85 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
432.85 s
[really-safe-money-gen]
432.94 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:62-67:
432.94 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
432.94 s
[really-safe-money-gen] -- Nothing
432.94 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
432.94 s
[really-safe-money-gen] fromRational (n :% d)
432.95 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.95 s
[really-safe-money-gen] + | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just True) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
432.95 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
432.95 s
[really-safe-money-gen]
432.95 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
432.95 s
[really-safe-money-gen]
433.04 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:62-67:
433.04 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
433.04 s
[really-safe-money-gen] -- Nothing
433.04 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
433.04 s
[really-safe-money-gen] fromRational (n :% d)
433.04 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
433.04 s
[really-safe-money-gen] + | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
433.04 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
433.04 s
[really-safe-money-gen]
433.04 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
433.04 s
[really-safe-money-gen]
433.13 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:208:62-67:
433.13 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
433.14 s
[really-safe-money-gen] -- Nothing
433.14 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
433.14 s
[really-safe-money-gen] fromRational (n :% d)
433.14 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
433.14 s
[really-safe-money-gen] + | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just not (False)) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
433.14 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
433.14 s
[really-safe-money-gen]
433.14 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
433.14 s
[really-safe-money-gen]
433.23 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:209:5-14:
433.23 s
[really-safe-money-gen] @@ -206,7 +206,7 @@
433.23 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
433.23 s
[really-safe-money-gen] fromRational (n :% d)
433.23 s
[really-safe-money-gen] | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
433.23 s
[really-safe-money-gen] - | otherwise = fromRatio (fromIntegral n % fromIntegral d)
433.23 s
[really-safe-money-gen] + | True = fromRatio (fromIntegral n % fromIntegral d)
433.23 s
[really-safe-money-gen]
433.23 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
433.23 s
[really-safe-money-gen] --
433.23 s
[really-safe-money-gen]
433.32 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:209:5-14:
433.32 s
[really-safe-money-gen] @@ -206,7 +206,7 @@
433.32 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
433.32 s
[really-safe-money-gen] fromRational (n :% d)
433.32 s
[really-safe-money-gen] | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
433.32 s
[really-safe-money-gen] - | otherwise = fromRatio (fromIntegral n % fromIntegral d)
433.32 s
[really-safe-money-gen] + | False = fromRatio (fromIntegral n % fromIntegral d)
433.32 s
[really-safe-money-gen]
433.32 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
433.32 s
[really-safe-money-gen] --
433.32 s
[really-safe-money-gen]
433.42 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:209:5-14:
433.42 s
[really-safe-money-gen] @@ -206,7 +206,7 @@
433.42 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
433.42 s
[really-safe-money-gen] fromRational (n :% d)
433.42 s
[really-safe-money-gen] | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
433.42 s
[really-safe-money-gen] - | otherwise = fromRatio (fromIntegral n % fromIntegral d)
433.42 s
[really-safe-money-gen] + | not (otherwise) = fromRatio (fromIntegral n % fromIntegral d)
433.42 s
[really-safe-money-gen]
433.42 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
433.42 s
[really-safe-money-gen] --
433.42 s
[really-safe-money-gen]
433.52 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25:
433.52 s
[really-safe-money-gen] @@ -183,7 +183,7 @@
433.52 s
[really-safe-money-gen]
433.52 s
[really-safe-money-gen] goFrac m e = reverse (go e (reverse (show m)))
433.52 s
[really-safe-money-gen] go :: Word8 -> String -> String
433.52 s
[really-safe-money-gen] - go 0 [] = ['.', '0']
433.52 s
[really-safe-money-gen] + go 0 [] = ['.', '0']
433.52 s
[really-safe-money-gen] go 0 s = '.' : s
433.52 s
[really-safe-money-gen] go e [] = '0' : go (pred e) []
433.52 s
[really-safe-money-gen] go e (c : cs) = c : go (pred e) cs
433.52 s
[really-safe-money-gen]
433.62 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25:
433.62 s
[really-safe-money-gen] @@ -183,7 +183,7 @@
433.62 s
[really-safe-money-gen]
433.62 s
[really-safe-money-gen] goFrac m e = reverse (go e (reverse (show m)))
433.62 s
[really-safe-money-gen] go :: Word8 -> String -> String
433.62 s
[really-safe-money-gen] - go 0 [] = ['.', '0']
433.62 s
[really-safe-money-gen] + go 0 [] = ['.', '0']
433.62 s
[really-safe-money-gen] go 0 s = '.' : s
433.62 s
[really-safe-money-gen] go e [] = '0' : go (pred e) []
433.62 s
[really-safe-money-gen] go e (c : cs) = c : go (pred e) cs
433.62 s
[really-safe-money-gen]
433.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30:
433.71 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
433.71 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
433.71 s
[really-safe-money-gen] parseDigits f z = do
433.71 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
433.71 s
[really-safe-money-gen] - let digit = Char.ord c - 48
433.71 s
[really-safe-money-gen] + let digit = Char.ord c - 0
433.71 s
[really-safe-money-gen] case f z digit of
433.71 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
433.71 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
433.71 s
[really-safe-money-gen]
433.80 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30:
433.80 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
433.80 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
433.80 s
[really-safe-money-gen] parseDigits f z = do
433.80 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
433.80 s
[really-safe-money-gen] - let digit = Char.ord c - 48
433.80 s
[really-safe-money-gen] + let digit = Char.ord c - 1
433.80 s
[really-safe-money-gen] case f z digit of
433.80 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
433.80 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
433.80 s
[really-safe-money-gen]
433.90 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30:
433.90 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
433.90 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
433.90 s
[really-safe-money-gen] parseDigits f z = do
433.90 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
433.90 s
[really-safe-money-gen] - let digit = Char.ord c - 48
433.90 s
[really-safe-money-gen] + let digit = Char.ord c - -48
433.90 s
[really-safe-money-gen] case f z digit of
433.90 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
433.90 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
433.90 s
[really-safe-money-gen]
433.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23:
433.99 s
[really-safe-money-gen] @@ -149,7 +149,7 @@
433.99 s
[really-safe-money-gen] where
433.99 s
[really-safe-money-gen] go !a [] = return a
433.99 s
[really-safe-money-gen] go !a (c : cs)
433.99 s
[really-safe-money-gen] - | Char.isDigit c = do
433.99 s
[really-safe-money-gen] + | True = do
433.99 s
[really-safe-money-gen] _ <- ReadP.get
433.99 s
[really-safe-money-gen] let digit = Char.ord c - 48
433.99 s
[really-safe-money-gen] case f a digit of
433.99 s
[really-safe-money-gen]
434.09 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23:
434.09 s
[really-safe-money-gen] @@ -149,7 +149,7 @@
434.09 s
[really-safe-money-gen] where
434.09 s
[really-safe-money-gen] go !a [] = return a
434.09 s
[really-safe-money-gen] go !a (c : cs)
434.09 s
[really-safe-money-gen] - | Char.isDigit c = do
434.09 s
[really-safe-money-gen] + | False = do
434.09 s
[really-safe-money-gen] _ <- ReadP.get
434.09 s
[really-safe-money-gen] let digit = Char.ord c - 48
434.09 s
[really-safe-money-gen] case f a digit of
434.09 s
[really-safe-money-gen]
434.18 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23:
434.18 s
[really-safe-money-gen] @@ -149,7 +149,7 @@
434.18 s
[really-safe-money-gen] where
434.18 s
[really-safe-money-gen] go !a [] = return a
434.18 s
[really-safe-money-gen] go !a (c : cs)
434.18 s
[really-safe-money-gen] - | Char.isDigit c = do
434.18 s
[really-safe-money-gen] + | not (Char.isDigit c) = do
434.18 s
[really-safe-money-gen] _ <- ReadP.get
434.18 s
[really-safe-money-gen] let digit = Char.ord c - 48
434.18 s
[really-safe-money-gen] case f a digit of
434.18 s
[really-safe-money-gen]
434.27 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38:
434.27 s
[really-safe-money-gen] @@ -151,7 +151,7 @@
434.27 s
[really-safe-money-gen] go !a (c : cs)
434.27 s
[really-safe-money-gen] | Char.isDigit c = do
434.27 s
[really-safe-money-gen] _ <- ReadP.get
434.27 s
[really-safe-money-gen] - let digit = Char.ord c - 48
434.27 s
[really-safe-money-gen] + let digit = Char.ord c - 0
434.27 s
[really-safe-money-gen] case f a digit of
434.27 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
434.27 s
[really-safe-money-gen] Just a' -> go a' cs
434.27 s
[really-safe-money-gen]
434.37 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38:
434.37 s
[really-safe-money-gen] @@ -151,7 +151,7 @@
434.37 s
[really-safe-money-gen] go !a (c : cs)
434.37 s
[really-safe-money-gen] | Char.isDigit c = do
434.37 s
[really-safe-money-gen] _ <- ReadP.get
434.37 s
[really-safe-money-gen] - let digit = Char.ord c - 48
434.37 s
[really-safe-money-gen] + let digit = Char.ord c - 1
434.37 s
[really-safe-money-gen] case f a digit of
434.37 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
434.37 s
[really-safe-money-gen] Just a' -> go a' cs
434.37 s
[really-safe-money-gen]
434.48 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38:
434.48 s
[really-safe-money-gen] @@ -151,7 +151,7 @@
434.48 s
[really-safe-money-gen] go !a (c : cs)
434.48 s
[really-safe-money-gen] | Char.isDigit c = do
434.48 s
[really-safe-money-gen] _ <- ReadP.get
434.48 s
[really-safe-money-gen] - let digit = Char.ord c - 48
434.48 s
[really-safe-money-gen] + let digit = Char.ord c - -48
434.48 s
[really-safe-money-gen] case f a digit of
434.48 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
434.48 s
[really-safe-money-gen] Just a' -> go a' cs
434.48 s
[really-safe-money-gen]
434.59 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:158:9-18:
434.59 s
[really-safe-money-gen] @@ -155,7 +155,7 @@
434.59 s
[really-safe-money-gen] case f a digit of
434.59 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
434.59 s
[really-safe-money-gen] Just a' -> go a' cs
434.59 s
[really-safe-money-gen] - | otherwise = return a
434.59 s
[really-safe-money-gen] + | True = return a
434.59 s
[really-safe-money-gen]
434.59 s
[really-safe-money-gen] -- | Render a decimal literal to a string
434.59 s
[really-safe-money-gen] --
434.59 s
[really-safe-money-gen]
434.68 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:158:9-18:
434.68 s
[really-safe-money-gen] @@ -155,7 +155,7 @@
434.68 s
[really-safe-money-gen] case f a digit of
434.68 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
434.68 s
[really-safe-money-gen] Just a' -> go a' cs
434.68 s
[really-safe-money-gen] - | otherwise = return a
434.68 s
[really-safe-money-gen] + | False = return a
434.68 s
[really-safe-money-gen]
434.68 s
[really-safe-money-gen] -- | Render a decimal literal to a string
434.68 s
[really-safe-money-gen] --
434.68 s
[really-safe-money-gen]
434.77 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:158:9-18:
434.77 s
[really-safe-money-gen] @@ -155,7 +155,7 @@
434.77 s
[really-safe-money-gen] case f a digit of
434.77 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
434.77 s
[really-safe-money-gen] Just a' -> go a' cs
434.77 s
[really-safe-money-gen] - | otherwise = return a
434.77 s
[really-safe-money-gen] + | not (otherwise) = return a
434.77 s
[really-safe-money-gen]
434.77 s
[really-safe-money-gen] -- | Render a decimal literal to a string
434.77 s
[really-safe-money-gen] --
434.77 s
[really-safe-money-gen]
434.87 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29:
434.87 s
[really-safe-money-gen] @@ -136,7 +136,7 @@
434.87 s
[really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
434.87 s
[really-safe-money-gen]
434.87 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
434.87 s
[really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
434.87 s
[really-safe-money-gen] +step a digit = Just $ a * 0 + fromIntegral digit
434.87 s
[really-safe-money-gen] {-# INLINE step #-}
434.87 s
[really-safe-money-gen]
434.87 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
434.87 s
[really-safe-money-gen]
435.00 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29:
435.00 s
[really-safe-money-gen] @@ -136,7 +136,7 @@
435.00 s
[really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
435.00 s
[really-safe-money-gen]
435.00 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
435.00 s
[really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
435.00 s
[really-safe-money-gen] +step a digit = Just $ a * 1 + fromIntegral digit
435.00 s
[really-safe-money-gen] {-# INLINE step #-}
435.00 s
[really-safe-money-gen]
435.00 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
435.00 s
[really-safe-money-gen]
435.12 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41:
435.12 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
435.12 s
[really-safe-money-gen]
435.12 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
435.12 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
435.12 s
[really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
435.12 s
[really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 0 + fromIntegral digit, succ e)
435.12 s
[really-safe-money-gen]
435.12 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
435.12 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
435.12 s
[really-safe-money-gen]
435.23 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41:
435.23 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
435.23 s
[really-safe-money-gen]
435.23 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
435.23 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
435.23 s
[really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
435.23 s
[really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 1 + fromIntegral digit, succ e)
435.23 s
[really-safe-money-gen]
435.23 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
435.23 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
435.23 s
[really-safe-money-gen]
435.33 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30:
435.33 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
435.33 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
435.33 s
[really-safe-money-gen] decimalLiteralP = do
435.33 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
435.33 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
435.33 s
[really-safe-money-gen] + isSignChar c = True || c == '+'
435.33 s
[really-safe-money-gen]
435.33 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
435.33 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
435.33 s
[really-safe-money-gen]
435.47 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30:
435.47 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
435.47 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
435.47 s
[really-safe-money-gen] decimalLiteralP = do
435.47 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
435.47 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
435.47 s
[really-safe-money-gen] + isSignChar c = False || c == '+'
435.47 s
[really-safe-money-gen]
435.47 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
435.47 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
435.47 s
[really-safe-money-gen]
435.61 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30:
435.61 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
435.61 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
435.61 s
[really-safe-money-gen] decimalLiteralP = do
435.62 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
435.62 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
435.62 s
[really-safe-money-gen] + isSignChar c = not (c == '-') || c == '+'
435.62 s
[really-safe-money-gen]
435.62 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
435.62 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
435.62 s
[really-safe-money-gen]
435.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42:
435.74 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
435.74 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
435.74 s
[really-safe-money-gen] decimalLiteralP = do
435.74 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
435.74 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
435.74 s
[really-safe-money-gen] + isSignChar c = c == '-' || True
435.74 s
[really-safe-money-gen]
435.74 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
435.74 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
435.74 s
[really-safe-money-gen]
435.88 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42:
435.88 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
435.88 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
435.88 s
[really-safe-money-gen] decimalLiteralP = do
435.88 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
435.88 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
435.88 s
[really-safe-money-gen] + isSignChar c = c == '-' || False
435.88 s
[really-safe-money-gen]
435.88 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
435.88 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
435.88 s
[really-safe-money-gen]
436.02 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42:
436.02 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
436.02 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
436.02 s
[really-safe-money-gen] decimalLiteralP = do
436.02 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
436.03 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
436.03 s
[really-safe-money-gen] + isSignChar c = c == '-' || not (c == '+')
436.03 s
[really-safe-money-gen]
436.03 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
436.03 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
436.03 s
[really-safe-money-gen]
436.14 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42:
436.14 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
436.14 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
436.14 s
[really-safe-money-gen] decimalLiteralP = do
436.14 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
436.14 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
436.14 s
[really-safe-money-gen] + isSignChar c = True
436.14 s
[really-safe-money-gen]
436.14 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
436.14 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
436.14 s
[really-safe-money-gen]
436.28 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42:
436.28 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
436.28 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
436.28 s
[really-safe-money-gen] decimalLiteralP = do
436.28 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
436.28 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
436.28 s
[really-safe-money-gen] + isSignChar c = False
436.28 s
[really-safe-money-gen]
436.28 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
436.28 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
436.28 s
[really-safe-money-gen]
436.43 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42:
436.43 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
436.43 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
436.43 s
[really-safe-money-gen] decimalLiteralP = do
436.43 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
436.43 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
436.43 s
[really-safe-money-gen] + isSignChar c = not (c == '-' || c == '+')
436.43 s
[really-safe-money-gen]
436.43 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
436.43 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
436.43 s
[really-safe-money-gen]
436.55 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34:
436.55 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
436.55 s
[really-safe-money-gen]
436.55 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
436.55 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
436.55 s
[really-safe-money-gen] - pure $ Just $ signChar == '+'
436.55 s
[really-safe-money-gen] + pure $ Just $ True
436.55 s
[really-safe-money-gen]
436.55 s
[really-safe-money-gen] units <- parseDigits step 0
436.55 s
[really-safe-money-gen]
436.55 s
[really-safe-money-gen]
436.68 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34:
436.77 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
436.77 s
[really-safe-money-gen]
436.77 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
436.77 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
436.77 s
[really-safe-money-gen] - pure $ Just $ signChar == '+'
436.77 s
[really-safe-money-gen] + pure $ Just $ False
436.77 s
[really-safe-money-gen]
436.77 s
[really-safe-money-gen] units <- parseDigits step 0
436.77 s
[really-safe-money-gen]
436.77 s
[really-safe-money-gen]
436.81 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34:
436.81 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
436.82 s
[really-safe-money-gen]
436.82 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
436.82 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
436.82 s
[really-safe-money-gen] - pure $ Just $ signChar == '+'
436.82 s
[really-safe-money-gen] + pure $ Just $ not (signChar == '+')
436.82 s
[really-safe-money-gen]
436.82 s
[really-safe-money-gen] units <- parseDigits step 0
436.82 s
[really-safe-money-gen]
436.82 s
[really-safe-money-gen]
436.93 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30:
436.94 s
[really-safe-money-gen] @@ -122,7 +122,7 @@
436.94 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
436.94 s
[really-safe-money-gen] pure $ Just $ signChar == '+'
436.94 s
[really-safe-money-gen]
436.94 s
[really-safe-money-gen] - units <- parseDigits step 0
436.94 s
[really-safe-money-gen] + units <- parseDigits step 1
436.94 s
[really-safe-money-gen]
436.94 s
[really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
436.94 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
436.94 s
[really-safe-money-gen]
437.02 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45:
437.02 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
437.02 s
[really-safe-money-gen]
437.02 s
[really-safe-money-gen] units <- parseDigits step 0
437.02 s
[really-safe-money-gen]
437.02 s
[really-safe-money-gen] - ReadP.option (DecimalLiteral mSign units 0) $ do
437.02 s
[really-safe-money-gen] + ReadP.option (DecimalLiteral mSign units 1) $ do
437.02 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
437.02 s
[really-safe-money-gen]
437.02 s
[really-safe-money-gen] (m, e) <- parseDigits stepFraction (units, 0)
437.02 s
[really-safe-money-gen]
437.13 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49:
437.13 s
[really-safe-money-gen] @@ -127,7 +127,7 @@
437.13 s
[really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
437.13 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
437.13 s
[really-safe-money-gen]
437.13 s
[really-safe-money-gen] - (m, e) <- parseDigits stepFraction (units, 0)
437.13 s
[really-safe-money-gen] + (m, e) <- parseDigits stepFraction (units, 1)
437.13 s
[really-safe-money-gen]
437.13 s
[really-safe-money-gen] pure $ DecimalLiteral mSign m e
437.13 s
[really-safe-money-gen]
437.13 s
[really-safe-money-gen]
437.22 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29:
437.22 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
437.22 s
[really-safe-money-gen] Just a -> do
437.22 s
[really-safe-money-gen] r <- Account.subtract a account
437.22 s
[really-safe-money-gen] Just $
437.22 s
[really-safe-money-gen] - if r == Account.zero
437.22 s
[really-safe-money-gen] + if True
437.22 s
[really-safe-money-gen] then M.delete currency m
437.22 s
[really-safe-money-gen] else M.insert currency r m
437.22 s
[really-safe-money-gen]
437.22 s
[really-safe-money-gen]
437.67 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29:
437.67 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
437.67 s
[really-safe-money-gen] Just a -> do
437.67 s
[really-safe-money-gen] r <- Account.subtract a account
437.67 s
[really-safe-money-gen] Just $
437.67 s
[really-safe-money-gen] - if r == Account.zero
437.67 s
[really-safe-money-gen] + if False
437.67 s
[really-safe-money-gen] then M.delete currency m
437.67 s
[really-safe-money-gen] else M.insert currency r m
437.67 s
[really-safe-money-gen]
437.67 s
[really-safe-money-gen]
438.11 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:134:12-29:
438.11 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
438.11 s
[really-safe-money-gen] Just a -> do
438.11 s
[really-safe-money-gen] r <- Account.subtract a account
438.11 s
[really-safe-money-gen] Just $
438.11 s
[really-safe-money-gen] - if r == Account.zero
438.11 s
[really-safe-money-gen] + if not (r == Account.zero)
438.11 s
[really-safe-money-gen] then M.delete currency m
438.11 s
[really-safe-money-gen] else M.insert currency r m
438.11 s
[really-safe-money-gen]
438.11 s
[really-safe-money-gen]
438.60 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAccount.hs:134:9-37:
438.60 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
438.60 s
[really-safe-money-gen] Just a -> do
438.60 s
[really-safe-money-gen] r <- Account.subtract a account
438.60 s
[really-safe-money-gen] Just $
438.60 s
[really-safe-money-gen] - if r == Account.zero
438.60 s
[really-safe-money-gen] + if r == Account.zero
438.60 s
[really-safe-money-gen] then M.delete currency m
438.60 s
[really-safe-money-gen] else M.insert currency r m
438.60 s
[really-safe-money-gen]
438.60 s
[really-safe-money-gen]
439.04 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29:
439.04 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
439.04 s
[really-safe-money-gen] Just a -> do
439.04 s
[really-safe-money-gen] r <- Account.add a account
439.04 s
[really-safe-money-gen] Just $
439.04 s
[really-safe-money-gen] - if r == Account.zero
439.04 s
[really-safe-money-gen] + if True
439.04 s
[really-safe-money-gen] then M.delete currency m
439.04 s
[really-safe-money-gen] else M.insert currency r m
439.04 s
[really-safe-money-gen]
439.04 s
[really-safe-money-gen]
439.57 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29:
439.57 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
439.57 s
[really-safe-money-gen] Just a -> do
439.57 s
[really-safe-money-gen] r <- Account.add a account
439.57 s
[really-safe-money-gen] Just $
439.57 s
[really-safe-money-gen] - if r == Account.zero
439.57 s
[really-safe-money-gen] + if False
439.57 s
[really-safe-money-gen] then M.delete currency m
439.57 s
[really-safe-money-gen] else M.insert currency r m
439.57 s
[really-safe-money-gen]
439.57 s
[really-safe-money-gen]
440.12 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:120:12-29:
440.12 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
440.12 s
[really-safe-money-gen] Just a -> do
440.12 s
[really-safe-money-gen] r <- Account.add a account
440.12 s
[really-safe-money-gen] Just $
440.12 s
[really-safe-money-gen] - if r == Account.zero
440.12 s
[really-safe-money-gen] + if not (r == Account.zero)
440.12 s
[really-safe-money-gen] then M.delete currency m
440.12 s
[really-safe-money-gen] else M.insert currency r m
440.12 s
[really-safe-money-gen]
440.12 s
[really-safe-money-gen]
440.65 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAccount.hs:120:9-37:
440.65 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
440.65 s
[really-safe-money-gen] Just a -> do
440.65 s
[really-safe-money-gen] r <- Account.add a account
440.65 s
[really-safe-money-gen] Just $
440.65 s
[really-safe-money-gen] - if r == Account.zero
440.65 s
[really-safe-money-gen] + if r == Account.zero
440.65 s
[really-safe-money-gen] then M.delete currency m
440.65 s
[really-safe-money-gen] else M.insert currency r m
440.65 s
[really-safe-money-gen]
440.65 s
[really-safe-money-gen]
441.22 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28:
441.22 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
441.22 s
[really-safe-money-gen]
441.22 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
441.22 s
[really-safe-money-gen] fromAccount currency amount =
441.22 s
[really-safe-money-gen] - if amount == Account.zero
441.22 s
[really-safe-money-gen] + if True
441.22 s
[really-safe-money-gen] then zero
441.22 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
441.22 s
[really-safe-money-gen]
441.22 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] 5 ms
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Passed: 1
441.32 s
[really-safe-money-gen] Failed: 0
441.32 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.32 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:270:13-22:
441.32 s
[really-safe-money-gen] @@ -267,7 +267,7 @@
441.32 s
[really-safe-money-gen] | n < d =
441.32 s
[really-safe-money-gen] let !ns' = S.insert n ns
441.32 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
441.32 s
[really-safe-money-gen] - | otherwise =
441.32 s
[really-safe-money-gen] + | False =
441.32 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
441.32 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Tests:
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.32 s
[really-safe-money-gen] Rational
441.32 s
[really-safe-money-gen] ✓ can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 0.05 ms
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Passed: 1
441.32 s
[really-safe-money-gen] Failed: 0
441.32 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.32 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10:
441.32 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
441.32 s
[really-safe-money-gen] -- Nothing
441.32 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
441.32 s
[really-safe-money-gen] fromRational (n :% d)
441.32 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
441.32 s
[really-safe-money-gen] + | n < 1 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
441.32 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
441.32 s
[really-safe-money-gen] Tests:
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.32 s
[really-safe-money-gen] Rational
441.32 s
[really-safe-money-gen] ✓ can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 0.05 ms
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Passed: 1
441.32 s
[really-safe-money-gen] Failed: 0
441.32 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.32 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:209:5-14:
441.32 s
[really-safe-money-gen] @@ -206,7 +206,7 @@
441.32 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
441.32 s
[really-safe-money-gen] fromRational (n :% d)
441.32 s
[really-safe-money-gen] | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
441.32 s
[really-safe-money-gen] - | otherwise = fromRatio (fromIntegral n % fromIntegral d)
441.32 s
[really-safe-money-gen] + | True = fromRatio (fromIntegral n % fromIntegral d)
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
441.32 s
[really-safe-money-gen] --
441.32 s
[really-safe-money-gen] Tests:
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.32 s
[really-safe-money-gen] Rational
441.32 s
[really-safe-money-gen] ✓ can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 0.05 ms
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Passed: 1
441.32 s
[really-safe-money-gen] Failed: 0
441.32 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.32 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:209:5-14:
441.32 s
[really-safe-money-gen] @@ -206,7 +206,7 @@
441.32 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
441.32 s
[really-safe-money-gen] fromRational (n :% d)
441.32 s
[really-safe-money-gen] | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
441.32 s
[really-safe-money-gen] - | otherwise = fromRatio (fromIntegral n % fromIntegral d)
441.32 s
[really-safe-money-gen] + | False = fromRatio (fromIntegral n % fromIntegral d)
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
441.32 s
[really-safe-money-gen] --
441.32 s
[really-safe-money-gen] Tests:
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.32 s
[really-safe-money-gen] Rational
441.32 s
[really-safe-money-gen] ✓ can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 0.04 ms
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.32 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Passed: 1
441.33 s
[really-safe-money-gen] Failed: 0
441.33 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.33 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30:
441.33 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
441.33 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
441.33 s
[really-safe-money-gen] parseDigits f z = do
441.33 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
441.33 s
[really-safe-money-gen] - let digit = Char.ord c - 48
441.33 s
[really-safe-money-gen] + let digit = Char.ord c - 0
441.33 s
[really-safe-money-gen] case f z digit of
441.33 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
441.33 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
441.33 s
[really-safe-money-gen] Tests:
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.33 s
[really-safe-money-gen] DecimalLiteral.fromString
441.33 s
[really-safe-money-gen] ✓ fails to parse scientific notation 0.02 ms
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Passed: 1
441.33 s
[really-safe-money-gen] Failed: 0
441.33 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.33 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30:
441.33 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
441.33 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
441.33 s
[really-safe-money-gen] parseDigits f z = do
441.33 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
441.33 s
[really-safe-money-gen] - let digit = Char.ord c - 48
441.33 s
[really-safe-money-gen] + let digit = Char.ord c - 1
441.33 s
[really-safe-money-gen] case f z digit of
441.33 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
441.33 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
441.33 s
[really-safe-money-gen] Tests:
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.33 s
[really-safe-money-gen] DecimalLiteral.fromString
441.33 s
[really-safe-money-gen] ✓ fails to parse scientific notation 0.02 ms
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Passed: 1
441.33 s
[really-safe-money-gen] Failed: 0
441.33 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.33 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30:
441.33 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
441.33 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
441.33 s
[really-safe-money-gen] parseDigits f z = do
441.33 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
441.33 s
[really-safe-money-gen] - let digit = Char.ord c - 48
441.33 s
[really-safe-money-gen] + let digit = Char.ord c - -48
441.33 s
[really-safe-money-gen] case f z digit of
441.33 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
441.33 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
441.33 s
[really-safe-money-gen] Tests:
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.33 s
[really-safe-money-gen] DecimalLiteral.fromString
441.33 s
[really-safe-money-gen] ✓ fails to parse scientific notation 0.02 ms
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Passed: 1
441.33 s
[really-safe-money-gen] Failed: 0
441.33 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.33 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:158:9-18:
441.33 s
[really-safe-money-gen] @@ -155,7 +155,7 @@
441.33 s
[really-safe-money-gen] case f a digit of
441.33 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
441.33 s
[really-safe-money-gen] Just a' -> go a' cs
441.33 s
[really-safe-money-gen] - | otherwise = return a
441.33 s
[really-safe-money-gen] + | True = return a
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] -- | Render a decimal literal to a string
441.33 s
[really-safe-money-gen] --
441.33 s
[really-safe-money-gen] Tests:
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.33 s
[really-safe-money-gen] DecimalLiteral.fromString
441.33 s
[really-safe-money-gen] ✓ fails to parse scientific notation 0.02 ms
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Passed: 1
441.33 s
[really-safe-money-gen] Failed: 0
441.33 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.33 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:158:9-18:
441.33 s
[really-safe-money-gen] @@ -155,7 +155,7 @@
441.33 s
[really-safe-money-gen] case f a digit of
441.33 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
441.33 s
[really-safe-money-gen] Just a' -> go a' cs
441.33 s
[really-safe-money-gen] - | otherwise = return a
441.33 s
[really-safe-money-gen] + | False = return a
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] -- | Render a decimal literal to a string
441.33 s
[really-safe-money-gen] --
441.33 s
[really-safe-money-gen] Tests:
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.33 s
[really-safe-money-gen] DecimalLiteral.fromString
441.33 s
[really-safe-money-gen] ✓ fails to parse scientific notation 0.03 ms
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Passed: 1
441.33 s
[really-safe-money-gen] Failed: 0
441.33 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.33 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30:
441.33 s
[really-safe-money-gen] @@ -122,7 +122,7 @@
441.33 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
441.33 s
[really-safe-money-gen] pure $ Just $ signChar == '+'
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] - units <- parseDigits step 0
441.33 s
[really-safe-money-gen] + units <- parseDigits step 1
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
441.33 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
441.33 s
[really-safe-money-gen] Tests:
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Numeric.DecimalLiteralSpec
441.33 s
[really-safe-money-gen] DecimalLiteral.fromString
441.33 s
[really-safe-money-gen] ✓ fails to parse scientific notation 0.02 ms
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Passed: 1
441.33 s
[really-safe-money-gen] Failed: 0
441.33 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
441.33 s
[really-safe-money-gen] Test suite took: 0.00 seconds
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28:
441.33 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
441.33 s
[really-safe-money-gen] fromAccount currency amount =
441.33 s
[really-safe-money-gen] - if amount == Account.zero
441.33 s
[really-safe-money-gen] + if True
441.33 s
[really-safe-money-gen] then zero
441.33 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency aTesting mutation ConstBool at src/Money/MultiAccount.hs:78:6-28:
441.33 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
441.33 s
[really-safe-money-gen] fromAccount currency amount =
441.33 s
[really-safe-money-gen] - if amount == Account.zero
441.33 s
[really-safe-money-gen] + if False
441.33 s
[really-safe-money-gen] then zero
441.33 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
441.33 s
[really-safe-money-gen]
441.33 s
[really-safe-money-gen]
441.41 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:78:6-28:
441.41 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
441.41 s
[really-safe-money-gen]
441.41 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
441.41 s
[really-safe-money-gen] fromAccount currency amount =
441.41 s
[really-safe-money-gen] - if amount == Account.zero
441.41 s
[really-safe-money-gen] + if not (amount == Account.zero)
441.41 s
[really-safe-money-gen] then zero
441.41 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
441.41 s
[really-safe-money-gen]
441.41 s
[really-safe-money-gen]
441.50 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAccount.hs:78:3-52:
441.50 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
441.50 s
[really-safe-money-gen]
441.50 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
441.50 s
[really-safe-money-gen] fromAccount currency amount =
441.50 s
[really-safe-money-gen] - if amount == Account.zero
441.50 s
[really-safe-money-gen] + if amount == Account.zero
441.50 s
[really-safe-money-gen] then zero
441.50 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
441.50 s
[really-safe-money-gen]
441.50 s
[really-safe-money-gen]
441.60 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30:
441.60 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
441.60 s
[really-safe-money-gen] [ genericValidate ma,
441.60 s
[really-safe-money-gen] decorateMap m $ \_ a ->
441.60 s
[really-safe-money-gen] declare "The account is not zero" $
441.60 s
[really-safe-money-gen] - a /= Account.zero
441.60 s
[really-safe-money-gen] + True
441.60 s
[really-safe-money-gen] ]
441.60 s
[really-safe-money-gen]
441.60 s
[really-safe-money-gen] -- TODO no empty currencies
441.60 s
[really-safe-money-gen]
442.15 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30:
442.22 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
442.22 s
[really-safe-money-gen] [ genericValidate ma,
442.22 s
[really-safe-money-gen] decorateMap m $ \_ a ->
442.22 s
[really-safe-money-gen] declare "The account is not zero" $
442.22 s
[really-safe-money-gen] - a /= Account.zero
442.22 s
[really-safe-money-gen] + False
442.22 s
[really-safe-money-gen] ]
442.22 s
[really-safe-money-gen]
442.22 s
[really-safe-money-gen] -- TODO no empty currencies
442.22 s
[really-safe-money-gen]
442.71 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:69:13-30:
442.71 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
442.72 s
[really-safe-money-gen] [ genericValidate ma,
442.72 s
[really-safe-money-gen] decorateMap m $ \_ a ->
442.72 s
[really-safe-money-gen] declare "The account is not zero" $
442.72 s
[really-safe-money-gen] - a /= Account.zero
442.72 s
[really-safe-money-gen] + not (a /= Account.zero)
442.72 s
[really-safe-money-gen] ]
442.72 s
[really-safe-money-gen]
442.72 s
[really-safe-money-gen] -- TODO no empty currencies
442.72 s
[really-safe-money-gen]
442.81 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8:
442.81 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
442.81 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
442.81 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
442.81 s
[really-safe-money-gen] mconcat
442.81 s
[really-safe-money-gen] - [ genericValidate ma,
442.81 s
[really-safe-money-gen] + [ genericValidate ma,
442.81 s
[really-safe-money-gen] decorateMap m $ \_ a ->
442.81 s
[really-safe-money-gen] declare "The account is not zero" $
442.81 s
[really-safe-money-gen] a /= Account.zero
442.81 s
[really-safe-money-gen]
443.05 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8:
443.05 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
443.05 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
443.06 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
443.06 s
[really-safe-money-gen] mconcat
443.06 s
[really-safe-money-gen] - [ genericValidate ma,
443.06 s
[really-safe-money-gen] + [ genericValidate ma,
443.06 s
[really-safe-money-gen] decorateMap m $ \_ a ->
443.06 s
[really-safe-money-gen] declare "The account is not zero" $
443.06 s
[really-safe-money-gen] a /= Account.zero
443.06 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] mount
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] Tests:
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] Money.MultiAccountSpec
443.33 s
[really-safe-money-gen] fromAccount
443.33 s
[really-safe-money-gen] ✓ produces valid amounts 3.19 ms
443.33 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] Examples: 1000
443.33 s
[really-safe-money-gen] Passed: 1
443.33 s
[really-safe-money-gen] Failed: 0
443.33 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
443.33 s
[really-safe-money-gen] Test suite took: 0.01 seconds
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28:
443.33 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
443.33 s
[really-safe-money-gen] fromAccount currency amount =
443.33 s
[really-safe-money-gen] - if amount == Account.zero
443.33 s
[really-safe-money-gen] + if False
443.33 s
[really-safe-money-gen] then zero
443.33 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] Tests:
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] Money.MultiAccountSpec
443.33 s
[really-safe-money-gen] fromAccount
443.33 s
[really-safe-money-gen] ✓ produces valid amounts 2.93 ms
443.33 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] Examples: 1000
443.33 s
[really-safe-money-gen] Passed: 1
443.33 s
[really-safe-money-gen] Failed: 0
443.33 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
443.33 s
[really-safe-money-gen] Test suite took: 0.01 seconds
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30:
443.33 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
443.33 s
[really-safe-money-gen] [ genericValidate ma,
443.33 s
[really-safe-money-gen] decorateMap m $ \_ a ->
443.33 s
[really-safe-money-gen] declare "The account is not zero" $
443.33 s
[really-safe-money-gen] - a /= Account.zero
443.33 s
[really-safe-money-gen] + True
443.33 s
[really-safe-money-gen] ]
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] -- TODO no empty currencies
443.33 s
[really-safe-money-gen] Tests:
443.33 s
[really-safe-money-gen]
443.33 s
[really-safe-money-gen] Money.MultiAccountSpec
443.33 s
[really-safe-money-gen] subtractAmount
443.33 s
[really-safe-money-gen] ✓ produces valid amounts 40.02 ms
443.33 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.33 s
[really-safe-money-gen] add
443.33 s
[really-safe-money-gen] ✓ produces valid amounts 67.91 ms
443.33 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.33 s
[really-safe-money-gen] GenValid (MultiAccount Currency)
443.33 s
[really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
443.33 s
[really-safe-money-gen] ✓ only generates valid '(MultiAccount Currency)'s 59.43 ms
443.33 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.33 s
[really-safe-money-gen] sum
443.33 s
[really-safe-money-gen] ✓ produces valid amounts 99.10 ms
443.33 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] fromAccount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 7.06 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] addAccount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 37.40 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] subtract
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 71.78 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] addAmount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 40.72 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] subtractAccount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 39.53 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen] Examples: 9000
443.34 s
[really-safe-money-gen] Passed: 9
443.34 s
[really-safe-money-gen] Failed: 0
443.34 s
[really-safe-money-gen] Sum of test runtimes: 0.46 seconds
443.34 s
[really-safe-money-gen] Test suite took: 0.47 seconds
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30:
443.34 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
443.34 s
[really-safe-money-gen] [ genericValidate ma,
443.34 s
[really-safe-money-gen] decorateMap m $ \_ a ->
443.34 s
[really-safe-money-gen] declare "The account is not zero" $
443.34 s
[really-safe-money-gen] - a /= Account.zero
443.34 s
[really-safe-money-gen] + False
443.34 s
[really-safe-money-gen] ]
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen] -- TODO no empty currencies
443.34 s
[really-safe-money-gen] Tests:
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen] Money.MultiAccountSpec
443.34 s
[really-safe-money-gen] subtractAmount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 38.57 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] add
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 68.64 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] GenValid (MultiAccount Currency)
443.34 s
[really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
443.34 s
[really-safe-money-gen] ✓ only generates valid '(MultiAccount Currency)'s 63.55 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] sum
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 103.75 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] fromAccount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 8.12 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] addAccount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 39.57 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] subtract
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 66.51 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] addAmount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 38.52 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] subtractAccount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 40.06 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen] Examples: 9000
443.34 s
[really-safe-money-gen] Passed: 9
443.34 s
[really-safe-money-gen] Failed: 0
443.34 s
[really-safe-money-gen] Sum of test runtimes: 0.47 seconds
443.34 s
[really-safe-money-gen] Test suite took: 0.47 seconds
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8:
443.34 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
443.34 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
443.34 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
443.34 s
[really-safe-money-gen] mconcat
443.34 s
[really-safe-money-gen] - [ genericValidate ma,
443.34 s
[really-safe-money-gen] + [ genericValidate ma,
443.34 s
[really-safe-money-gen] decorateMap m $ \_ a ->
443.34 s
[really-safe-money-gen] declare "The account is not zero" $
443.34 s
[really-safe-money-gen] a /= Account.zero
443.34 s
[really-safe-money-gen] Tests:
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen] Money.MultiAccountSpec
443.34 s
[really-safe-money-gen] subtractAmount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 13.28 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] add
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 25.61 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] GenValid (MultiAccount Currency)
443.34 s
[really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
443.34 s
[really-safe-money-gen] ✓ only generates valid '(MultiAccount Currency)'s 2.10 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] sum
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 50.24 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] zero
443.34 s
[really-safe-money-gen] ✓ is valid 0.00 ms
443.34 s
[really-safe-money-gen] fromAccount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 1.62 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] addAccount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 13.46 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] subtract
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 24.85 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] addAmount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 13.55 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen] subtractAccount
443.34 s
[really-safe-money-gen] ✓ produces valid amounts 12.40 ms
443.34 s
[really-safe-money-gen] passed for all of 1000 inputs.
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen] Examples: 9001
443.34 s
[really-safe-money-gen] Passed: 10
443.34 s
[really-safe-money-gen] Failed: 0
443.34 s
[really-safe-money-gen] Sum of test runtimes: 0.16 seconds
443.34 s
[really-safe-money-gen] Test suite took: 0.16 seconds
443.34 s
[really-safe-money-gen]
443.34 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8:
443.34 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
443.34 s
[really-safe-money-gen] inTesting mutation IntLit at src/Money/Account.hs:421:32-33:
443.34 s
[really-safe-money-gen] @@ -418,7 +418,7 @@
443.34 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
443.34 s
[really-safe-money-gen] multiply factor account =
443.34 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
443.34 s
[really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
443.34 s
[really-safe-money-gen] + f = case (compare factor 1, compare account zero) of
443.34 s
[really-safe-money-gen] (EQ, _) -> const zero
443.34 s
[really-safe-money-gen] (_, EQ) -> const zero
443.34 s
[really-safe-money-gen] (GT, GT) -> Positive
443.34 s
[really-safe-money-gen]
443.45 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23:
443.45 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
443.45 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
443.45 s
[really-safe-money-gen] DistributedZero -> DistributedZero
443.45 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
443.46 s
[really-safe-money-gen] - if a >= zero
443.46 s
[really-safe-money-gen] + if True
443.46 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
443.46 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
443.46 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
443.46 s
[really-safe-money-gen]
443.57 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23:
443.57 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
443.57 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
443.57 s
[really-safe-money-gen] DistributedZero -> DistributedZero
443.57 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
443.57 s
[really-safe-money-gen] - if a >= zero
443.57 s
[really-safe-money-gen] + if False
443.58 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
443.58 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
443.58 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
443.58 s
[really-safe-money-gen]
443.68 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:451:14-23:
443.68 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
443.68 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
443.68 s
[really-safe-money-gen] DistributedZero -> DistributedZero
443.68 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
443.68 s
[really-safe-money-gen] - if a >= zero
443.68 s
[really-safe-money-gen] + if not (a >= zero)
443.68 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
443.68 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
443.69 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
443.69 s
[really-safe-money-gen]
443.78 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:451:11-76:
443.78 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
443.78 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
443.78 s
[really-safe-money-gen] DistributedZero -> DistributedZero
443.78 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
443.78 s
[really-safe-money-gen] - if a >= zero
443.78 s
[really-safe-money-gen] + if a >= zero
443.78 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
443.78 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
443.78 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
443.78 s
[really-safe-money-gen]
443.87 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23:
443.87 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
443.87 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
443.87 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
443.87 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
443.87 s
[really-safe-money-gen] - if a >= zero
443.87 s
[really-safe-money-gen] + if True
443.87 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
443.87 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
443.87 s
[really-safe-money-gen]
443.87 s
[really-safe-money-gen]
443.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23:
443.98 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
443.98 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
443.98 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
443.98 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
443.98 s
[really-safe-money-gen] - if a >= zero
443.98 s
[really-safe-money-gen] + if False
443.98 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
443.98 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
443.98 s
[really-safe-money-gen]
443.98 s
[really-safe-money-gen]
444.09 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:455:14-23:
444.09 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
444.09 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
444.09 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
444.09 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
444.09 s
[really-safe-money-gen] - if a >= zero
444.09 s
[really-safe-money-gen] + if not (a >= zero)
444.09 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
444.09 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
444.09 s
[really-safe-money-gen]
444.09 s
[really-safe-money-gen]
444.19 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:455:11-136:
444.19 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
444.19 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
444.19 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
444.19 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
444.19 s
[really-safe-money-gen] - if a >= zero
444.19 s
[really-safe-money-gen] + if a >= zero
444.19 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
444.19 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
444.19 s
[really-safe-money-gen]
444.19 s
[really-safe-money-gen]
444.29 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:495:17-18:
444.29 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
444.29 s
[really-safe-money-gen] fraction rounding account f =
444.29 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
444.29 s
[really-safe-money-gen] ro =
444.29 s
[really-safe-money-gen] - if f >= 0
444.29 s
[really-safe-money-gen] + if f >= 1
444.29 s
[really-safe-money-gen] then rounding
444.29 s
[really-safe-money-gen] else case rounding of
444.29 s
[really-safe-money-gen] RoundUp -> RoundDown
444.29 s
[really-safe-money-gen]
444.38 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18:
444.38 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
444.38 s
[really-safe-money-gen] fraction rounding account f =
444.38 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
444.38 s
[really-safe-money-gen] ro =
444.38 s
[really-safe-money-gen] - if f >= 0
444.38 s
[really-safe-money-gen] + if True
444.38 s
[really-safe-money-gen] then rounding
444.38 s
[really-safe-money-gen] else case rounding of
444.38 s
[really-safe-money-gen] RoundUp -> RoundDown
444.38 s
[really-safe-money-gen]
444.77 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18:
444.77 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
444.77 s
[really-safe-money-gen] fraction rounding account f =
444.77 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
444.77 s
[really-safe-money-gen] ro =
444.77 s
[really-safe-money-gen] - if f >= 0
444.77 s
[really-safe-money-gen] + if False
444.78 s
[really-safe-money-gen] then rounding
444.78 s
[really-safe-money-gen] else case rounding of
444.78 s
[really-safe-money-gen] RoundUp -> RoundDown
444.78 s
[really-safe-money-gen]
445.21 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:495:12-18:
445.21 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
445.21 s
[really-safe-money-gen] fraction rounding account f =
445.21 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
445.21 s
[really-safe-money-gen] ro =
445.21 s
[really-safe-money-gen] - if f >= 0
445.21 s
[really-safe-money-gen] + if not (f >= 0)
445.21 s
[really-safe-money-gen] then rounding
445.21 s
[really-safe-money-gen] else case rounding of
445.21 s
[really-safe-money-gen] RoundUp -> RoundDown
445.21 s
[really-safe-money-gen]
445.61 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:495:9-41:
445.61 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
445.61 s
[really-safe-money-gen] fraction rounding account f =
445.61 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
445.61 s
[really-safe-money-gen] ro =
445.61 s
[really-safe-money-gen] - if f >= 0
445.61 s
[really-safe-money-gen] + if f >= 0
445.61 s
[really-safe-money-gen] then rounding
445.61 s
[really-safe-money-gen] else case rounding of
445.61 s
[really-safe-money-gen] RoundUp -> RoundDown
445.61 s
[really-safe-money-gen]
446.01 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:503:15-16:
446.01 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
446.01 s
[really-safe-money-gen] RoundNearest -> RoundNearest
446.01 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
446.01 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
446.01 s
[really-safe-money-gen] - in if f >= 0
446.01 s
[really-safe-money-gen] + in if f >= 1
446.01 s
[really-safe-money-gen] then (ma, r)
446.01 s
[really-safe-money-gen] else (negate <$> ma, -r)
446.01 s
[really-safe-money-gen]
446.01 s
[really-safe-money-gen]
446.11 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16:
446.11 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
446.11 s
[really-safe-money-gen] RoundNearest -> RoundNearest
446.11 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
446.11 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
446.11 s
[really-safe-money-gen] - in if f >= 0
446.11 s
[really-safe-money-gen] + in if True
446.11 s
[really-safe-money-gen] then (ma, r)
446.11 s
[really-safe-money-gen] else (negate <$> ma, -r)
446.11 s
[really-safe-money-gen]
446.11 s
[really-safe-money-gen]
446.50 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16:
446.50 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
446.50 s
[really-safe-money-gen] RoundNearest -> RoundNearest
446.50 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
446.50 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
446.50 s
[really-safe-money-gen] - in if f >= 0
446.50 s
[really-safe-money-gen] + in if False
446.50 s
[really-safe-money-gen] then (ma, r)
446.50 s
[really-safe-money-gen] else (negate <$> ma, -r)
446.50 s
[really-safe-money-gen]
446.50 s
[really-safe-money-gen]
446.91 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:503:10-16:
446.91 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
446.91 s
[really-safe-money-gen] RoundNearest -> RoundNearest
446.91 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
446.91 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
446.91 s
[really-safe-money-gen] - in if f >= 0
446.91 s
[really-safe-money-gen] + in if not (f >= 0)
446.91 s
[really-safe-money-gen] then (ma, r)
446.91 s
[really-safe-money-gen] else (negate <$> ma, -r)
446.91 s
[really-safe-money-gen]
446.91 s
[really-safe-money-gen]
447.00 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:503:7-33:
447.00 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
447.00 s
[really-safe-money-gen] RoundNearest -> RoundNearest
447.00 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
447.00 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
447.00 s
[really-safe-money-gen] - in if f >= 0
447.00 s
[really-safe-money-gen] + in if f >= 0
447.00 s
[really-safe-money-gen] then (ma, r)
447.00 s
[really-safe-money-gen] else (negate <$> ma, -r)
447.00 s
[really-safe-money-gen]
447.00 s
[really-safe-money-gen]
447.09 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:233:19-20:
447.09 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
447.09 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
447.09 s
[really-safe-money-gen] fromRational quantisationFactor r =
447.09 s
[really-safe-money-gen] let r' = Prelude.abs r
447.09 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
447.09 s
[really-safe-money-gen] + f = if r >= 1 then Positive else Negative
447.09 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
447.09 s
[really-safe-money-gen]
447.09 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
447.09 s
[really-safe-money-gen]
447.19 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20:
447.19 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
447.27 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
447.27 s
[really-safe-money-gen] fromRational quantisationFactor r =
447.27 s
[really-safe-money-gen] let r' = Prelude.abs r
447.27 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
447.27 s
[really-safe-money-gen] + f = if True then Positive else Negative
447.27 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
447.27 s
[really-safe-money-gen]
447.27 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
447.27 s
[really-safe-money-gen]
447.31 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20:
447.31 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
447.31 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
447.31 s
[really-safe-money-gen] fromRational quantisationFactor r =
447.31 s
[really-safe-money-gen] let r' = Prelude.abs r
447.31 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
447.31 s
[really-safe-money-gen] + f = if False then Positive else Negative
447.31 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
447.31 s
[really-safe-money-gen]
447.31 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
447.31 s
[really-safe-money-gen]
447.41 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:233:14-20:
447.41 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
447.41 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
447.41 s
[really-safe-money-gen] fromRational quantisationFactor r =
447.41 s
[really-safe-money-gen] let r' = Prelude.abs r
447.41 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
447.41 s
[really-safe-money-gen] + f = if not (r >= 0) then Positive else Negative
447.41 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
447.42 s
[really-safe-money-gen]
447.42 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
447.42 s
[really-safe-money-gen]
447.52 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:233:11-48:
447.52 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
447.52 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
447.52 s
[really-safe-money-gen] fromRational quantisationFactor r =
447.52 s
[really-safe-money-gen] let r' = Prelude.abs r
447.52 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
447.52 s
[really-safe-money-gen] + f = if r >= 0 then Positive else Negative
447.52 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
447.52 s
[really-safe-money-gen]
447.52 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
447.52 s
[really-safe-money-gen]
447.63 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:197:19-20:
447.63 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
447.63 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
447.63 s
[really-safe-money-gen] fromDouble quantisationFactor d =
447.63 s
[really-safe-money-gen] let d' = Prelude.abs d
447.63 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
447.63 s
[really-safe-money-gen] + f = if d >= 1 then Positive else Negative
447.63 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
447.63 s
[really-safe-money-gen]
447.63 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
447.63 s
[really-safe-money-gen]
447.76 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20:
447.76 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
447.76 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
447.76 s
[really-safe-money-gen] fromDouble quantisationFactor d =
447.76 s
[really-safe-money-gen] let d' = Prelude.abs d
447.76 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
447.76 s
[really-safe-money-gen] + f = if True then Positive else Negative
447.76 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
447.76 s
[really-safe-money-gen]
447.76 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
447.76 s
[really-safe-money-gen]
447.90 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20:
447.90 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
447.90 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
447.90 s
[really-safe-money-gen] fromDouble quantisationFactor d =
447.90 s
[really-safe-money-gen] let d' = Prelude.abs d
447.90 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
447.90 s
[really-safe-money-gen] + f = if False then Positive else Negative
447.90 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
447.90 s
[really-safe-money-gen]
447.90 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
447.90 s
[really-safe-money-gen]
448.05 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:197:14-20:
448.05 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
448.05 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
448.05 s
[really-safe-money-gen] fromDouble quantisationFactor d =
448.05 s
[really-safe-money-gen] let d' = Prelude.abs d
448.05 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
448.05 s
[really-safe-money-gen] + f = if not (d >= 0) then Positive else Negative
448.05 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
448.05 s
[really-safe-money-gen]
448.05 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
448.05 s
[really-safe-money-gen]
448.20 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:197:11-48:
448.20 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
448.20 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
448.20 s
[really-safe-money-gen] fromDouble quantisationFactor d =
448.20 s
[really-safe-money-gen] let d' = Prelude.abs d
448.20 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
448.20 s
[really-safe-money-gen] + f = if d >= 0 then Positive else Negative
448.20 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
448.20 s
[really-safe-money-gen]
448.20 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
448.20 s
[really-safe-money-gen]
448.36 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23:
448.36 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
448.36 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
448.36 s
[really-safe-money-gen] a :: Integer
448.36 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
448.36 s
[really-safe-money-gen] - in if a > maxBoundI
448.36 s
[really-safe-money-gen] + in if True
448.36 s
[really-safe-money-gen] then Nothing
448.36 s
[really-safe-money-gen] else
448.36 s
[really-safe-money-gen] let w :: Word64
448.36 s
[really-safe-money-gen]
448.47 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23:
448.47 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
448.47 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
448.47 s
[really-safe-money-gen] a :: Integer
448.48 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
448.48 s
[really-safe-money-gen] - in if a > maxBoundI
448.48 s
[really-safe-money-gen] + in if False
448.48 s
[really-safe-money-gen] then Nothing
448.48 s
[really-safe-money-gen] else
448.48 s
[really-safe-money-gen] let w :: Word64
448.48 s
[really-safe-money-gen]
448.58 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:123:10-23:
448.58 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
448.58 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
448.58 s
[really-safe-money-gen] a :: Integer
448.58 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
448.58 s
[really-safe-money-gen] - in if a > maxBoundI
448.58 s
[really-safe-money-gen] + in if not (a > maxBoundI)
448.58 s
[really-safe-money-gen] then Nothing
448.58 s
[really-safe-money-gen] else
448.58 s
[really-safe-money-gen] let w :: Word64
448.58 s
[really-safe-money-gen]
448.68 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:131:25-26:
448.68 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
448.68 s
[really-safe-money-gen] amount :: Amount
448.68 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
448.68 s
[really-safe-money-gen] in Just $
448.68 s
[really-safe-money-gen] - if i >= 0
448.68 s
[really-safe-money-gen] + if i >= 1
448.68 s
[really-safe-money-gen] then Positive amount
448.68 s
[really-safe-money-gen] else Negative amount
448.68 s
[really-safe-money-gen]
448.68 s
[really-safe-money-gen]
448.83 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26:
448.83 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
448.83 s
[really-safe-money-gen] amount :: Amount
448.83 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
448.83 s
[really-safe-money-gen] in Just $
448.83 s
[really-safe-money-gen] - if i >= 0
448.83 s
[really-safe-money-gen] + if True
448.83 s
[really-safe-money-gen] then Positive amount
448.83 s
[really-safe-money-gen] else Negative amount
448.83 s
[really-safe-money-gen]
448.83 s
[really-safe-money-gen]
448.94 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26:
448.94 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
448.94 s
[really-safe-money-gen] amount :: Amount
448.94 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
448.94 s
[really-safe-money-gen] in Just $
448.94 s
[really-safe-money-gen] - if i >= 0
448.94 s
[really-safe-money-gen] + if False
448.94 s
[really-safe-money-gen] then Positive amount
448.94 s
[really-safe-money-gen] else Negative amount
448.94 s
[really-safe-money-gen]
448.94 s
[really-safe-money-gen]
449.04 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:131:20-26:
449.04 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
449.04 s
[really-safe-money-gen] amount :: Amount
449.04 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
449.04 s
[really-safe-money-gen] in Just $
449.04 s
[really-safe-money-gen] - if i >= 0
449.04 s
[really-safe-money-gen] + if not (i >= 0)
449.04 s
[really-safe-money-gen] then Positive amount
449.04 s
[really-safe-money-gen] else Negative amount
449.04 s
[really-safe-money-gen]
449.04 s
[really-safe-money-gen]
449.14 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:131:17-39:
449.14 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
449.14 s
[really-safe-money-gen] amount :: Amount
449.14 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
449.14 s
[really-safe-money-gen] in Just $
449.14 s
[really-safe-money-gen] - if i >= 0
449.14 s
[really-safe-money-gen] + if i >= 0
449.14 s
[really-safe-money-gen] then Positive amount
449.14 s
[really-safe-money-gen] else Negative amount
449.14 s
[really-safe-money-gen]
449.14 s
[really-safe-money-gen]
449.24 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:123:7-39:
449.24 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
449.24 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
449.24 s
[really-safe-money-gen] a :: Integer
449.24 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
449.24 s
[really-safe-money-gen] - in if a > maxBoundI
449.24 s
[really-safe-money-gen] + in if a > maxBoundI
449.24 s
[really-safe-money-gen] then Nothing
449.24 s
[really-safe-money-gen] else
449.24 s
[really-safe-money-gen] let w :: Word64
449.24 s
[really-safe-money-gen]
449.35 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38:
449.35 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
449.35 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
449.35 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
449.35 s
[really-safe-money-gen] let decimals :: Int
449.35 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
449.35 s
[really-safe-money-gen] + decimals = ceiling $ logBase 0 (fromIntegral qf :: Float)
449.35 s
[really-safe-money-gen] in printf "%%0.%df" decimals
449.35 s
[really-safe-money-gen]
449.35 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
449.35 s
[really-safe-money-gen]
449.51 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38:
449.51 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
449.51 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
449.51 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
449.51 s
[really-safe-money-gen] let decimals :: Int
449.51 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
449.51 s
[really-safe-money-gen] + decimals = ceiling $ logBase 1 (fromIntegral qf :: Float)
449.51 s
[really-safe-money-gen] in printf "%%0.%df" decimals
449.51 s
[really-safe-money-gen]
449.51 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
449.51 s
[really-safe-money-gen]
449.68 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38:
449.68 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
449.68 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
449.68 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
449.68 s
[really-safe-money-gen] let decimals :: Int
449.68 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
449.68 s
[really-safe-money-gen] + decimals = ceiling $ logBase -10 (fromIntegral qf :: Float)
449.68 s
[really-safe-money-gen] in printf "%%0.%df" decimals
449.68 s
[really-safe-money-gen]
449.68 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
449.68 s
[really-safe-money-gen]
449.88 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:569:18-19:
449.88 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
449.88 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
449.88 s
[really-safe-money-gen] smallerChunk :: Amount
449.88 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
449.88 s
[really-safe-money-gen] - in if rest == 0
449.88 s
[really-safe-money-gen] + in if rest == 1
449.88 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
449.88 s
[really-safe-money-gen] else
449.88 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
449.88 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] stance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
449.97 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
449.97 s
[really-safe-money-gen] mconcat
449.97 s
[really-safe-money-gen] - [ genericValidate ma,
449.97 s
[really-safe-money-gen] + [ genericValidate ma,
449.97 s
[really-safe-money-gen] decorateMap m $ \_ a ->
449.97 s
[really-safe-money-gen] declare "The account is not zero" $
449.97 s
[really-safe-money-gen] a /= Account.zero
449.97 s
[really-safe-money-gen] Tests:
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Money.MultiAccountSpec
449.97 s
[really-safe-money-gen] subtractAmount
449.97 s
[really-safe-money-gen] ✓ produces valid amounts 12.23 ms
449.97 s
[really-safe-money-gen] passed for all of 1000 inputs.
449.97 s
[really-safe-money-gen] add
449.97 s
[really-safe-money-gen] ✓ produces valid amounts 25.32 ms
449.97 s
[really-safe-money-gen] passed for all of 1000 inputs.
449.97 s
[really-safe-money-gen] GenValid (MultiAccount Currency)
449.97 s
[really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
449.97 s
[really-safe-money-gen] ✓ only generates valid '(MultiAccount Currency)'s 2.57 ms
449.97 s
[really-safe-money-gen] passed for all of 1000 inputs.
449.97 s
[really-safe-money-gen] sum
449.97 s
[really-safe-money-gen] ✓ produces valid amounts 61.53 ms
449.97 s
[really-safe-money-gen] passed for all of 1000 inputs.
449.97 s
[really-safe-money-gen] zero
449.97 s
[really-safe-money-gen] ✓ is valid 0.01 ms
449.97 s
[really-safe-money-gen] fromAccount
449.97 s
[really-safe-money-gen] ✓ produces valid amounts 1.59 ms
449.97 s
[really-safe-money-gen] passed for all of 1000 inputs.
449.97 s
[really-safe-money-gen] addAccount
449.97 s
[really-safe-money-gen] ✓ produces valid amounts 15.25 ms
449.97 s
[really-safe-money-gen] passed for all of 1000 inputs.
449.97 s
[really-safe-money-gen] subtract
449.97 s
[really-safe-money-gen] ✓ produces valid amounts 30.74 ms
449.97 s
[really-safe-money-gen] passed for all of 1000 inputs.
449.97 s
[really-safe-money-gen] addAmount
449.97 s
[really-safe-money-gen] ✓ produces valid amounts 15.58 ms
449.97 s
[really-safe-money-gen] passed for all of 1000 inputs.
449.97 s
[really-safe-money-gen] subtractAccount
449.97 s
[really-safe-money-gen] ✓ produces valid amounts 14.23 ms
449.97 s
[really-safe-money-gen] passed for all of 1000 inputs.
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Examples: 9001
449.97 s
[really-safe-money-gen] Passed: 10
449.97 s
[really-safe-money-gen] Failed: 0
449.97 s
[really-safe-money-gen] Sum of test runtimes: 0.18 seconds
449.97 s
[really-safe-money-gen] Test suite took: 0.18 seconds
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:495:17-18:
449.97 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
449.97 s
[really-safe-money-gen] fraction rounding account f =
449.97 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
449.97 s
[really-safe-money-gen] ro =
449.97 s
[really-safe-money-gen] - if f >= 0
449.97 s
[really-safe-money-gen] + if f >= 1
449.97 s
[really-safe-money-gen] then rounding
449.97 s
[really-safe-money-gen] else case rounding of
449.97 s
[really-safe-money-gen] RoundUp -> RoundDown
449.97 s
[really-safe-money-gen] Tests:
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Money.AccountSpec
449.97 s
[really-safe-money-gen] fraction
449.97 s
[really-safe-money-gen] ✓ Correctly fractions 101 with 1 % 100 0.03 ms
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Passed: 1
449.97 s
[really-safe-money-gen] Failed: 0
449.97 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
449.97 s
[really-safe-money-gen] Test suite took: 0.00 seconds
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:197:19-20:
449.97 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
449.97 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
449.97 s
[really-safe-money-gen] fromDouble quantisationFactor d =
449.97 s
[really-safe-money-gen] let d' = Prelude.abs d
449.97 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
449.97 s
[really-safe-money-gen] + f = if d >= 1 then Positive else Negative
449.97 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
449.97 s
[really-safe-money-gen] Tests:
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Money.AccountSpec
449.97 s
[really-safe-money-gen] fromDouble
449.97 s
[really-safe-money-gen] ✓ produces valid rational 44.76 ms
449.97 s
[really-safe-money-gen] passed for all of 10000 inputs.
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Examples: 10000
449.97 s
[really-safe-money-gen] Passed: 1
449.97 s
[really-safe-money-gen] Failed: 0
449.97 s
[really-safe-money-gen] Sum of test runtimes: 0.04 seconds
449.97 s
[really-safe-money-gen] Test suite took: 0.05 seconds
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:131:25-26:
449.97 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
449.97 s
[really-safe-money-gen] amount :: Amount
449.97 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
449.97 s
[really-safe-money-gen] in Just $
449.97 s
[really-safe-money-gen] - if i >= 0
449.97 s
[really-safe-money-gen] + if i >= 1
449.97 s
[really-safe-money-gen] then Positive amount
449.97 s
[really-safe-money-gen] else Negative amount
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Tests:
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Money.AccountSpec
449.97 s
[really-safe-money-gen] distribute
449.97 s
[really-safe-money-gen] ✓ produces results that sum up to the greater whole 64.91 ms
449.97 s
[really-safe-money-gen] passed for all of 10000 inputs.
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Examples: 10000
449.97 s
[really-safe-money-gen] Passed: 1
449.97 s
[really-safe-money-gen] Failed: 0
449.97 s
[really-safe-money-gen] Sum of test runtimes: 0.06 seconds
449.97 s
[really-safe-money-gen] Test suite took: 0.07 seconds
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38:
449.97 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
449.97 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
449.97 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
449.97 s
[really-safe-money-gen] let decimals :: Int
449.97 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
449.97 s
[really-safe-money-gen] + decimals = ceiling $ logBase 0 (fromIntegral qf :: Float)
449.97 s
[really-safe-money-gen] in printf "%%0.%df" decimals
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
449.97 s
[really-safe-money-gen] Tests:
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Money.AccountSpec
449.98 s
[really-safe-money-gen] format
449.98 s
[really-safe-money-gen] ✓ produces valid strings 74.95 ms
449.98 s
[really-safe-money-gen] passed for all of 10000 inputs.
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Examples: 10000
449.98 s
[really-safe-money-gen] Passed: 1
449.98 s
[really-safe-money-gen] Failed: 0
449.98 s
[really-safe-money-gen] Sum of test runtimes: 0.07 seconds
449.98 s
[really-safe-money-gen] Test suite took: 0.08 seconds
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38:
449.98 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
449.98 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
449.98 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
449.98 s
[really-safe-money-gen] let decimals :: Int
449.98 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
449.98 s
[really-safe-money-gen] + decimals = ceiling $ logBase 1 (fromIntegral qf :: Float)
449.98 s
[really-safe-money-gen] in printf "%%0.%df" decimals
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
449.98 s
[really-safe-money-gen] Tests:
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Money.AccountSpec
449.98 s
[really-safe-money-gen] format
449.98 s
[really-safe-money-gen] ✓ produces valid strings 78.45 ms
449.98 s
[really-safe-money-gen] passed for all of 10000 inputs.
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Examples: 10000
449.98 s
[really-safe-money-gen] Passed: 1
449.98 s
[really-safe-money-gen] Failed: 0
449.98 s
[really-safe-money-gen] Sum of test runtimes: 0.08 seconds
449.98 s
[really-safe-money-gen] Test suite took: 0.08 seconds
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38:
449.98 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
449.98 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
449.98 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
449.98 s
[really-safe-money-gen] let decimals :: Int
449.98 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
449.98 s
[really-safe-money-gen] + decimals = ceiling $ logBase -10 (fromIntegral qf :: Float)
449.98 s
[really-safe-money-gen] in printf "%%0.%df" decimals
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
449.98 s
[really-safe-money-gen] Tests:
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Money.AccountSpec
449.98 s
[really-safe-money-gen] format
449.98 s
[really-safe-money-gen] ✓ produces valid strings 86.76 ms
449.98 s
[really-safe-money-gen] passed for all of 10000 inputs.
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Examples: 10000
449.98 s
[really-safe-money-gen] Passed: 1
449.98 s
[really-safe-money-gen] Failed: 0
449.98 s
[really-safe-money-gen] Sum of test runtimes: 0.09 seconds
449.98 s
[really-safe-money-gen] Test suite took: 0.09 seconds
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:569:18-19:
449.98 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
449.98 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
449.98 s
[really-safe-money-gen] smallerChunk :: Amount
449.98 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
449.98 s
[really-safe-money-gen] - in if rest == 0
449.98 s
[really-safe-money-gen] + in if rest == 1
449.98 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
449.98 s
[really-safe-money-gen] else
449.98 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
449.98 s
[really-safe-money-gen] Tests:
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Money.AccountSpec
449.98 s
[really-safe-money-gen] distribute
449.98 s
[really-safe-money-gen] ✓ correctly distributes 5 into 3 0.06 ms
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] Passed: 1
449.98 s
[really-safe-money-gen] Failed: 0
449.98 s
[really-safe-money-gen] Sum of test runtimes: 0.00 secoTesting mutation ConstBool at src/Money/Amount.hs:569:10-19:
449.98 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
449.98 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
449.98 s
[really-safe-money-gen] smallerChunk :: Amount
449.98 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
449.98 s
[really-safe-money-gen] - in if rest == 0
449.98 s
[really-safe-money-gen] + in if True
449.98 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
449.98 s
[really-safe-money-gen] else
449.98 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
449.98 s
[really-safe-money-gen]
450.06 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19:
450.06 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
450.06 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
450.06 s
[really-safe-money-gen] smallerChunk :: Amount
450.06 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
450.06 s
[really-safe-money-gen] - in if rest == 0
450.06 s
[really-safe-money-gen] + in if False
450.06 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
450.06 s
[really-safe-money-gen] else
450.06 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
450.06 s
[really-safe-money-gen]
450.16 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:569:10-19:
450.16 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
450.16 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
450.16 s
[really-safe-money-gen] smallerChunk :: Amount
450.16 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
450.16 s
[really-safe-money-gen] - in if rest == 0
450.16 s
[really-safe-money-gen] + in if not (rest == 0)
450.16 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
450.16 s
[really-safe-money-gen] else
450.16 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
450.16 s
[really-safe-money-gen]
450.27 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:569:7-29:
450.27 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
450.27 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
450.27 s
[really-safe-money-gen] smallerChunk :: Amount
450.27 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
450.27 s
[really-safe-money-gen] - in if rest == 0
450.27 s
[really-safe-money-gen] + in if rest == 0
450.27 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
450.27 s
[really-safe-money-gen] else
450.27 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
450.27 s
[really-safe-money-gen]
450.37 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23:
450.37 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
450.37 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
450.37 s
[really-safe-money-gen] r :: Integer
450.37 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
450.37 s
[really-safe-money-gen] - in if r > maxBoundI
450.37 s
[really-safe-money-gen] + in if True
450.37 s
[really-safe-money-gen] then Nothing
450.37 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
450.37 s
[really-safe-money-gen]
450.37 s
[really-safe-money-gen]
450.49 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23:
450.49 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
450.49 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
450.49 s
[really-safe-money-gen] r :: Integer
450.49 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
450.49 s
[really-safe-money-gen] - in if r > maxBoundI
450.49 s
[really-safe-money-gen] + in if False
450.50 s
[really-safe-money-gen] then Nothing
450.50 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
450.50 s
[really-safe-money-gen]
450.50 s
[really-safe-money-gen]
450.61 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:544:10-23:
450.61 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
450.61 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
450.61 s
[really-safe-money-gen] r :: Integer
450.61 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
450.61 s
[really-safe-money-gen] - in if r > maxBoundI
450.61 s
[really-safe-money-gen] + in if not (r > maxBoundI)
450.61 s
[really-safe-money-gen] then Nothing
450.62 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
450.62 s
[really-safe-money-gen]
450.62 s
[really-safe-money-gen]
450.74 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:544:7-66:
450.74 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
450.74 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
450.74 s
[really-safe-money-gen] r :: Integer
450.74 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
450.74 s
[really-safe-money-gen] - in if r > maxBoundI
450.74 s
[really-safe-money-gen] + in if r > maxBoundI
450.74 s
[really-safe-money-gen] then Nothing
450.74 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
450.74 s
[really-safe-money-gen]
450.74 s
[really-safe-money-gen]
450.86 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:518:14-15:
450.86 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
450.86 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
450.86 s
[really-safe-money-gen] r :: Integer
450.86 s
[really-safe-money-gen] r = i1 - i2
450.86 s
[really-safe-money-gen] - in if r < 0
450.86 s
[really-safe-money-gen] + in if r < 1
450.86 s
[really-safe-money-gen] then Nothing
450.86 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
450.86 s
[really-safe-money-gen]
450.86 s
[really-safe-money-gen]
450.96 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15:
450.96 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
450.96 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
450.96 s
[really-safe-money-gen] r :: Integer
450.96 s
[really-safe-money-gen] r = i1 - i2
450.96 s
[really-safe-money-gen] - in if r < 0
450.96 s
[really-safe-money-gen] + in if True
450.96 s
[really-safe-money-gen] then Nothing
450.96 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
450.96 s
[really-safe-money-gen]
450.96 s
[really-safe-money-gen]
451.12 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15:
451.12 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
451.12 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
451.12 s
[really-safe-money-gen] r :: Integer
451.12 s
[really-safe-money-gen] r = i1 - i2
451.12 s
[really-safe-money-gen] - in if r < 0
451.12 s
[really-safe-money-gen] + in if False
451.12 s
[really-safe-money-gen] then Nothing
451.12 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.12 s
[really-safe-money-gen]
451.12 s
[really-safe-money-gen]
451.28 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:518:10-15:
451.28 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
451.28 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
451.28 s
[really-safe-money-gen] r :: Integer
451.28 s
[really-safe-money-gen] r = i1 - i2
451.29 s
[really-safe-money-gen] - in if r < 0
451.29 s
[really-safe-money-gen] + in if not (r < 0)
451.29 s
[really-safe-money-gen] then Nothing
451.29 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.29 s
[really-safe-money-gen]
451.29 s
[really-safe-money-gen]
451.42 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:518:7-66:
451.42 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
451.42 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
451.42 s
[really-safe-money-gen] r :: Integer
451.42 s
[really-safe-money-gen] r = i1 - i2
451.42 s
[really-safe-money-gen] - in if r < 0
451.43 s
[really-safe-money-gen] + in if r < 0
451.43 s
[really-safe-money-gen] then Nothing
451.43 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.43 s
[really-safe-money-gen]
451.43 s
[really-safe-money-gen]
451.57 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23:
451.57 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
451.57 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
451.57 s
[really-safe-money-gen] r :: Integer
451.57 s
[really-safe-money-gen] r = i1 + i2
451.57 s
[really-safe-money-gen] - in if r > maxBoundI
451.57 s
[really-safe-money-gen] + in if True
451.57 s
[really-safe-money-gen] then Nothing
451.57 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.57 s
[really-safe-money-gen]
451.57 s
[really-safe-money-gen]
451.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23:
451.71 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
451.71 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
451.71 s
[really-safe-money-gen] r :: Integer
451.71 s
[really-safe-money-gen] r = i1 + i2
451.71 s
[really-safe-money-gen] - in if r > maxBoundI
451.71 s
[really-safe-money-gen] + in if False
451.71 s
[really-safe-money-gen] then Nothing
451.71 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.71 s
[really-safe-money-gen]
451.71 s
[really-safe-money-gen]
451.83 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:476:10-23:
451.83 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
451.83 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
451.83 s
[really-safe-money-gen] r :: Integer
451.83 s
[really-safe-money-gen] r = i1 + i2
451.83 s
[really-safe-money-gen] - in if r > maxBoundI
451.83 s
[really-safe-money-gen] + in if not (r > maxBoundI)
451.83 s
[really-safe-money-gen] then Nothing
451.84 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.84 s
[really-safe-money-gen]
451.84 s
[really-safe-money-gen]
451.96 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:476:7-66:
451.96 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
451.96 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
451.96 s
[really-safe-money-gen] r :: Integer
451.96 s
[really-safe-money-gen] r = i1 + i2
451.96 s
[really-safe-money-gen] - in if r > maxBoundI
451.96 s
[really-safe-money-gen] + in if r > maxBoundI
451.96 s
[really-safe-money-gen] then Nothing
451.96 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.96 s
[really-safe-money-gen]
451.96 s
[really-safe-money-gen]
452.09 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:388:5-16:
452.09 s
[really-safe-money-gen] @@ -385,7 +385,7 @@
452.09 s
[really-safe-money-gen] -- Nothing
452.09 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
452.09 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
452.09 s
[really-safe-money-gen] - | isInvalid r = Nothing
452.09 s
[really-safe-money-gen] + | True = Nothing
452.09 s
[really-safe-money-gen] | r < 0 = Nothing
452.09 s
[really-safe-money-gen] | otherwise =
452.09 s
[really-safe-money-gen] let resultRational :: Rational
452.09 s
[really-safe-money-gen]
452.28 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:388:5-16:
452.28 s
[really-safe-money-gen] @@ -385,7 +385,7 @@
452.41 s
[really-safe-money-gen] -- Nothing
452.41 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
452.41 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
452.41 s
[really-safe-money-gen] - | isInvalid r = Nothing
452.41 s
[really-safe-money-gen] + | False = Nothing
452.41 s
[really-safe-money-gen] | r < 0 = Nothing
452.41 s
[really-safe-money-gen] | otherwise =
452.41 s
[really-safe-money-gen] let resultRational :: Rational
452.41 s
[really-safe-money-gen]
452.46 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:388:5-16:
452.46 s
[really-safe-money-gen] @@ -385,7 +385,7 @@
452.46 s
[really-safe-money-gen] -- Nothing
452.46 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
452.46 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
452.46 s
[really-safe-money-gen] - | isInvalid r = Nothing
452.46 s
[really-safe-money-gen] + | not (isInvalid r) = Nothing
452.46 s
[really-safe-money-gen] | r < 0 = Nothing
452.46 s
[really-safe-money-gen] | otherwise =
452.46 s
[really-safe-money-gen] let resultRational :: Rational
452.46 s
[really-safe-money-gen]
452.78 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:389:9-10:
452.78 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
452.78 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
452.78 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
452.78 s
[really-safe-money-gen] | isInvalid r = Nothing
452.78 s
[really-safe-money-gen] - | r < 0 = Nothing
452.78 s
[really-safe-money-gen] + | r < 1 = Nothing
452.78 s
[really-safe-money-gen] | otherwise =
452.78 s
[really-safe-money-gen] let resultRational :: Rational
452.78 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
452.78 s
[really-safe-money-gen]
452.95 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:389:5-10:
452.95 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
452.95 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
452.95 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
452.95 s
[really-safe-money-gen] | isInvalid r = Nothing
452.95 s
[really-safe-money-gen] - | r < 0 = Nothing
452.95 s
[really-safe-money-gen] + | True = Nothing
452.95 s
[really-safe-money-gen] | otherwise =
452.95 s
[really-safe-money-gen] let resultRational :: Rational
452.95 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
452.95 s
[really-safe-money-gen]
453.28 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:389:5-10:
453.28 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
453.28 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
453.28 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
453.28 s
[really-safe-money-gen] | isInvalid r = Nothing
453.28 s
[really-safe-money-gen] - | r < 0 = Nothing
453.28 s
[really-safe-money-gen] + | False = Nothing
453.28 s
[really-safe-money-gen] | otherwise =
453.28 s
[really-safe-money-gen] let resultRational :: Rational
453.28 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
453.28 s
[really-safe-money-gen]
453.63 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:389:5-10:
453.63 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
453.63 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
453.63 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
453.63 s
[really-safe-money-gen] | isInvalid r = Nothing
453.63 s
[really-safe-money-gen] - | r < 0 = Nothing
453.63 s
[really-safe-money-gen] + | not (r < 0) = Nothing
453.63 s
[really-safe-money-gen] | otherwise =
453.64 s
[really-safe-money-gen] let resultRational :: Rational
453.64 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
453.64 s
[really-safe-money-gen]
453.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:390:5-14:
453.98 s
[really-safe-money-gen] @@ -387,7 +387,7 @@
453.98 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
453.98 s
[really-safe-money-gen] | isInvalid r = Nothing
453.98 s
[really-safe-money-gen] | r < 0 = Nothing
453.98 s
[really-safe-money-gen] - | otherwise =
453.98 s
[really-safe-money-gen] + | True =
453.98 s
[really-safe-money-gen] let resultRational :: Rational
453.98 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
453.98 s
[really-safe-money-gen] ceiled :: Natural
453.98 s
[really-safe-money-gen]
454.16 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:390:5-14:
454.16 s
[really-safe-money-gen] @@ -387,7 +387,7 @@
454.16 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
454.16 s
[really-safe-money-gen] | isInvalid r = Nothing
454.16 s
[really-safe-money-gen] | r < 0 = Nothing
454.16 s
[really-safe-money-gen] - | otherwise =
454.16 s
[really-safe-money-gen] + | False =
454.16 s
[really-safe-money-gen] let resultRational :: Rational
454.16 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
454.16 s
[really-safe-money-gen] ceiled :: Natural
454.16 s
[really-safe-money-gen]
454.34 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:390:5-14:
454.34 s
[really-safe-money-gen] @@ -387,7 +387,7 @@
454.34 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
454.34 s
[really-safe-money-gen] | isInvalid r = Nothing
454.34 s
[really-safe-money-gen] | r < 0 = Nothing
454.34 s
[really-safe-money-gen] - | otherwise =
454.34 s
[really-safe-money-gen] + | not (otherwise) =
454.34 s
[really-safe-money-gen] let resultRational :: Rational
454.34 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
454.34 s
[really-safe-money-gen] ceiled :: Natural
454.34 s
[really-safe-money-gen]
454.43 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31:
454.43 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
454.43 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
454.43 s
[really-safe-money-gen] floored :: Natural
454.43 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
454.43 s
[really-safe-money-gen] - in if ceiled == floored
454.43 s
[really-safe-money-gen] + in if True
454.43 s
[really-safe-money-gen] then
454.43 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.43 s
[really-safe-money-gen] then Nothing
454.43 s
[really-safe-money-gen]
462.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31:
462.74 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
462.74 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
462.74 s
[really-safe-money-gen] floored :: Natural
462.74 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
462.74 s
[really-safe-money-gen] - in if ceiled == floored
462.74 s
[really-safe-money-gen] + in if False
462.74 s
[really-safe-money-gen] then
462.74 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
462.74 s
[really-safe-money-gen] then Nothing
462.74 s
[really-safe-money-gen]
471.17 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:397:14-31:
471.17 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
471.19 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
471.19 s
[really-safe-money-gen] floored :: Natural
471.19 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
471.19 s
[really-safe-money-gen] - in if ceiled == floored
471.19 s
[really-safe-money-gen] + in if not (ceiled == floored)
471.19 s
[really-safe-money-gen] then
471.19 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
471.19 s
[really-safe-money-gen] then Nothing
471.19 s
[really-safe-money-gen]
471.56 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83:
471.56 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
471.56 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
471.56 s
[really-safe-money-gen] in if ceiled == floored
471.56 s
[really-safe-money-gen] then
471.56 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
471.57 s
[really-safe-money-gen] + if True
471.57 s
[really-safe-money-gen] then Nothing
471.57 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
471.57 s
[really-safe-money-gen] else Nothing
471.57 s
[really-safe-money-gen]
471.95 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83:
471.95 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
471.95 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
471.95 s
[really-safe-money-gen] in if ceiled == floored
471.95 s
[really-safe-money-gen] then
471.95 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
471.95 s
[really-safe-money-gen] + if False
471.95 s
[really-safe-money-gen] then Nothing
471.95 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
471.95 s
[really-safe-money-gen] else Nothing
471.95 s
[really-safe-money-gen]
472.35 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:399:18-83:
472.35 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
472.35 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
472.35 s
[really-safe-money-gen] in if ceiled == floored
472.35 s
[really-safe-money-gen] then
472.36 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
472.36 s
[really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
472.36 s
[really-safe-money-gen] then Nothing
472.36 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
472.36 s
[really-safe-money-gen] else Nothing
472.36 s
[really-safe-money-gen]
472.80 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:399:15-57:
472.80 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
472.80 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
472.80 s
[really-safe-money-gen] in if ceiled == floored
472.80 s
[really-safe-money-gen] then
472.80 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
472.80 s
[really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
472.80 s
[really-safe-money-gen] then Nothing
472.80 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
472.80 s
[really-safe-money-gen] else Nothing
472.80 s
[really-safe-money-gen]
473.19 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:397:11-25:
473.19 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
473.19 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
473.19 s
[really-safe-money-gen] floored :: Natural
473.19 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
473.19 s
[really-safe-money-gen] - in if ceiled == floored
473.19 s
[really-safe-money-gen] + in if ceiled == floored
473.19 s
[really-safe-money-gen] then
473.19 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
473.19 s
[really-safe-money-gen] then Nothing
473.19 s
[really-safe-money-gen]
473.59 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:320:9-10:
473.59 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
473.59 s
[really-safe-money-gen] Double ->
473.59 s
[really-safe-money-gen] Maybe Amount
473.59 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
473.59 s
[really-safe-money-gen] - | d < 0 = Nothing
473.59 s
[really-safe-money-gen] + | d < 1 = Nothing
473.59 s
[really-safe-money-gen] | otherwise =
473.59 s
[really-safe-money-gen] let resultDouble :: Double
473.59 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
473.59 s
[really-safe-money-gen]
473.71 s
[really-safe-money-gen] nds
473.71 s
[really-safe-money-gen] Test suite took: 0.00 seconds
473.71 s
[really-safe-money-gen]
473.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:518:14-15:
473.71 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
473.71 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
473.71 s
[really-safe-money-gen] r :: Integer
473.71 s
[really-safe-money-gen] r = i1 - i2
473.71 s
[really-safe-money-gen] - in if r < 0
473.71 s
[really-safe-money-gen] + in if r < 1
473.71 s
[really-safe-money-gen] then Nothing
473.71 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
473.71 s
[really-safe-money-gen]
473.71 s
[really-safe-money-gen] Tests:
473.71 s
[really-safe-money-gen]
473.71 s
[really-safe-money-gen] Money.MultiAmountSpec
473.71 s
[really-safe-money-gen] subtractAmount
473.71 s
[really-safe-money-gen] ✓ produces valid amounts 13.85 ms
473.71 s
[really-safe-money-gen] passed for all of 1000 inputs.
473.71 s
[really-safe-money-gen]
473.71 s
[really-safe-money-gen]
473.71 s
[really-safe-money-gen]
473.71 s
[really-safe-money-gen] Examples: 1000
473.71 s
[really-safe-money-gen] Passed: 1
473.71 s
[really-safe-money-gen] Failed: 0
473.71 s
[really-safe-money-gen] Sum of test runtimes: 0.01 seconds
473.71 s
[really-safe-money-gen] Test suite took: 0.02 seconds
473.71 s
[really-safe-money-gen]
473.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15:
473.71 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
473.71 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
473.71 s
[really-safe-money-gen] r :: Integer
473.71 s
[really-safe-money-gen] r = i1 - i2
473.71 s
[really-safe-money-gen] - in if r < 0
473.71 s
[really-safe-money-gen] + in if True
473.71 s
[really-safe-money-gen] then Nothing
473.72 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Tests:
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Money.MultiAmountSpec
473.72 s
[really-safe-money-gen] subtractAmount
473.72 s
[really-safe-money-gen] ✓ produces valid amounts 13.73 ms
473.72 s
[really-safe-money-gen] passed for all of 1000 inputs.
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ produces valid amounts 22.22 ms
473.72 s
[really-safe-money-gen] passed for all of 1000 inputs.
473.72 s
[really-safe-money-gen] Money.AmountOfSpec
473.72 s
[really-safe-money-gen] USD
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.23 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] ADA
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.18 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] INR
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.21 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] BTC
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.64 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] CHF
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.19 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] Money.AmountSpec
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ fails for 0 - maxBound 0.01 ms
473.72 s
[really-safe-money-gen] ✓ fails for 0 - 1 0.01 ms
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 29.43 ms
473.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Examples: 12502
473.72 s
[really-safe-money-gen] Passed: 10
473.72 s
[really-safe-money-gen] Failed: 0
473.72 s
[really-safe-money-gen] Sum of test runtimes: 0.07 seconds
473.72 s
[really-safe-money-gen] Test suite took: 0.07 seconds
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15:
473.72 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
473.72 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
473.72 s
[really-safe-money-gen] r :: Integer
473.72 s
[really-safe-money-gen] r = i1 - i2
473.72 s
[really-safe-money-gen] - in if r < 0
473.72 s
[really-safe-money-gen] + in if False
473.72 s
[really-safe-money-gen] then Nothing
473.72 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Tests:
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Money.MultiAmountSpec
473.72 s
[really-safe-money-gen] subtractAmount
473.72 s
[really-safe-money-gen] ✓ produces valid amounts 15.15 ms
473.72 s
[really-safe-money-gen] passed for all of 1000 inputs.
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ produces valid amounts 23.31 ms
473.72 s
[really-safe-money-gen] passed for all of 1000 inputs.
473.72 s
[really-safe-money-gen] Money.AmountOfSpec
473.72 s
[really-safe-money-gen] USD
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.30 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] ADA
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.31 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] INR
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.25 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] BTC
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.47 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] CHF
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 0.18 ms
473.72 s
[really-safe-money-gen] passed for all of 100 inputs.
473.72 s
[really-safe-money-gen] Money.AmountSpec
473.72 s
[really-safe-money-gen] subtract
473.72 s
[really-safe-money-gen] ✓ fails for 0 - maxBound 0.00 ms
473.72 s
[really-safe-money-gen] ✓ fails for 0 - 1 0.00 ms
473.72 s
[really-safe-money-gen] ✓ matches what you would get with Integer, if nothing fails 27.53 ms
473.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Examples: 12502
473.72 s
[really-safe-money-gen] Passed: 10
473.72 s
[really-safe-money-gen] Failed: 0
473.72 s
[really-safe-money-gen] Sum of test runtimes: 0.07 seconds
473.72 s
[really-safe-money-gen] Test suite took: 0.07 seconds
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:389:9-10:
473.72 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
473.72 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
473.72 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
473.72 s
[really-safe-money-gen] | isInvalid r = Nothing
473.72 s
[really-safe-money-gen] - | r < 0 = Nothing
473.72 s
[really-safe-money-gen] + | r < 1 = Nothing
473.72 s
[really-safe-money-gen] | otherwise =
473.72 s
[really-safe-money-gen] let resultRational :: Rational
473.72 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
473.72 s
[really-safe-money-gen] Tests:
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Money.AccountSpec
473.72 s
[really-safe-money-gen] fromRational
473.72 s
[really-safe-money-gen] ✓ roundtrips with toRational 80.18 ms
473.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Examples: 10000
473.72 s
[really-safe-money-gen] Passed: 1
473.72 s
[really-safe-money-gen] Failed: 0
473.72 s
[really-safe-money-gen] Sum of test runtimes: 0.08 seconds
473.72 s
[really-safe-money-gen] Test suite took: 0.08 seconds
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:390:5-14:
473.72 s
[really-safe-money-gen] @@ -387,7 +387,7 @@
473.72 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
473.72 s
[really-safe-money-gen] | isInvalid r = Nothing
473.72 s
[really-safe-money-gen] | r < 0 = Nothing
473.72 s
[really-safe-money-gen] - | otherwise =
473.72 s
[really-safe-money-gen] + | True =
473.72 s
[really-safe-money-gen] let resultRational :: Rational
473.72 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
473.72 s
[really-safe-money-gen] ceiled :: Natural
473.72 s
[really-safe-money-gen] Tests:
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Money.AccountSpec
473.72 s
[really-safe-money-gen] fromRational
473.72 s
[really-safe-money-gen] ✓ roundtrips with toRational 89.58 ms
473.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Examples: 10000
473.72 s
[really-safe-money-gen] Passed: 1
473.72 s
[really-safe-money-gen] Failed: 0
473.72 s
[really-safe-money-gen] Sum of test runtimes: 0.09 seconds
473.72 s
[really-safe-money-gen] Test suite took: 0.09 seconds
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:390:5-14:
473.72 s
[really-safe-money-gen] @@ -387,7 +387,7 @@
473.72 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
473.72 s
[really-safe-money-gen] | isInvalid r = Nothing
473.72 s
[really-safe-money-gen] | r < 0 = Nothing
473.72 s
[really-safe-money-gen] - | otherwise =
473.72 s
[really-safe-money-gen] + | False =
473.72 s
[really-safe-money-gen] let resultRational :: Rational
473.72 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
473.72 s
[really-safe-money-gen] ceiled :: Natural
473.72 s
[really-safe-money-gen] Tests:
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Money.AccountSpec
473.72 s
[really-safe-money-gen] fromRational
473.72 s
[really-safe-money-gen] ✓ roundtrips with toRational 89.36 ms
473.72 s
[really-safe-money-gen] passed for all of 10000 inputs.
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Examples: 10000
473.72 s
[really-safe-money-gen] Passed: 1
473.72 s
[really-safe-money-gen] Failed: 0
473.72 s
[really-safe-money-gen] Sum of test runtimes: 0.09 seconds
473.72 s
[really-safe-money-gen] Test suite took: 0.09 seconds
473.72 s
[really-safe-money-gen]
473.72 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:320:9-10:
473.72 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
473.72 s
[really-safe-money-gen] Double ->
473.72 s
[really-safe-money-gen] Maybe Amount
473.72 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
473.72 s
[really-safe-money-gen] - | d < 0 = Nothing
473.72 s
[really-safe-money-gen] + | d < 1 = Nothing
473.72 s
[really-safe-money-gen] | otherwise =
473.72 s
[really-safe-money-gen] let resultDouble :: Double
473.72 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 ->Testing mutation ConstBool at src/Money/Amount.hs:320:5-10:
473.72 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
473.72 s
[really-safe-money-gen] Double ->
473.72 s
[really-safe-money-gen] Maybe Amount
473.72 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
473.72 s
[really-safe-money-gen] - | d < 0 = Nothing
473.72 s
[really-safe-money-gen] + | True = Nothing
473.72 s
[really-safe-money-gen] | otherwise =
473.72 s
[really-safe-money-gen] let resultDouble :: Double
473.72 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
473.72 s
[really-safe-money-gen]
473.86 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:320:5-10:
473.86 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
473.86 s
[really-safe-money-gen] Double ->
473.86 s
[really-safe-money-gen] Maybe Amount
473.86 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
473.86 s
[really-safe-money-gen] - | d < 0 = Nothing
473.86 s
[really-safe-money-gen] + | False = Nothing
473.86 s
[really-safe-money-gen] | otherwise =
473.86 s
[really-safe-money-gen] let resultDouble :: Double
473.86 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
473.86 s
[really-safe-money-gen]
474.01 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:320:5-10:
474.01 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
474.02 s
[really-safe-money-gen] Double ->
474.02 s
[really-safe-money-gen] Maybe Amount
474.02 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
474.02 s
[really-safe-money-gen] - | d < 0 = Nothing
474.02 s
[really-safe-money-gen] + | not (d < 0) = Nothing
474.02 s
[really-safe-money-gen] | otherwise =
474.02 s
[really-safe-money-gen] let resultDouble :: Double
474.02 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
474.02 s
[really-safe-money-gen]
474.18 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
474.18 s
[really-safe-money-gen] @@ -318,7 +318,7 @@
474.18 s
[really-safe-money-gen] Maybe Amount
474.18 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
474.18 s
[really-safe-money-gen] | d < 0 = Nothing
474.18 s
[really-safe-money-gen] - | otherwise =
474.18 s
[really-safe-money-gen] + | True =
474.18 s
[really-safe-money-gen] let resultDouble :: Double
474.18 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
474.18 s
[really-safe-money-gen] in go resultDouble
474.18 s
[really-safe-money-gen]
474.33 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
474.33 s
[really-safe-money-gen] @@ -318,7 +318,7 @@
474.33 s
[really-safe-money-gen] Maybe Amount
474.33 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
474.33 s
[really-safe-money-gen] | d < 0 = Nothing
474.33 s
[really-safe-money-gen] - | otherwise =
474.33 s
[really-safe-money-gen] + | False =
474.33 s
[really-safe-money-gen] let resultDouble :: Double
474.33 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
474.33 s
[really-safe-money-gen] in go resultDouble
474.33 s
[really-safe-money-gen]
474.48 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:321:5-14:
474.48 s
[really-safe-money-gen] @@ -318,7 +318,7 @@
474.48 s
[really-safe-money-gen] Maybe Amount
474.48 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
474.48 s
[really-safe-money-gen] | d < 0 = Nothing
474.48 s
[really-safe-money-gen] - | otherwise =
474.48 s
[really-safe-money-gen] + | not (otherwise) =
474.48 s
[really-safe-money-gen] let resultDouble :: Double
474.48 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
474.48 s
[really-safe-money-gen] in go resultDouble
474.48 s
[really-safe-money-gen]
474.58 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16:
474.58 s
[really-safe-money-gen] @@ -324,7 +324,7 @@
474.58 s
[really-safe-money-gen] in go resultDouble
474.58 s
[really-safe-money-gen] where
474.58 s
[really-safe-money-gen] go resultDouble
474.58 s
[really-safe-money-gen] - | isNaN d = Nothing
474.58 s
[really-safe-money-gen] + | True = Nothing
474.58 s
[really-safe-money-gen] | isInfinite d = Nothing
474.58 s
[really-safe-money-gen] | otherwise =
474.58 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
474.58 s
[really-safe-money-gen]
474.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16:
474.74 s
[really-safe-money-gen] @@ -324,7 +324,7 @@
474.75 s
[really-safe-money-gen] in go resultDouble
474.75 s
[really-safe-money-gen] where
474.75 s
[really-safe-money-gen] go resultDouble
474.75 s
[really-safe-money-gen] - | isNaN d = Nothing
474.75 s
[really-safe-money-gen] + | False = Nothing
474.75 s
[really-safe-money-gen] | isInfinite d = Nothing
474.75 s
[really-safe-money-gen] | otherwise =
474.75 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
474.75 s
[really-safe-money-gen]
474.91 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:327:9-16:
474.91 s
[really-safe-money-gen] @@ -324,7 +324,7 @@
474.91 s
[really-safe-money-gen] in go resultDouble
474.91 s
[really-safe-money-gen] where
474.91 s
[really-safe-money-gen] go resultDouble
474.91 s
[really-safe-money-gen] - | isNaN d = Nothing
474.91 s
[really-safe-money-gen] + | not (isNaN d) = Nothing
474.91 s
[really-safe-money-gen] | isInfinite d = Nothing
474.91 s
[really-safe-money-gen] | otherwise =
474.91 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
474.91 s
[really-safe-money-gen]
475.08 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21:
475.08 s
[really-safe-money-gen] @@ -325,7 +325,7 @@
475.08 s
[really-safe-money-gen] where
475.08 s
[really-safe-money-gen] go resultDouble
475.08 s
[really-safe-money-gen] | isNaN d = Nothing
475.08 s
[really-safe-money-gen] - | isInfinite d = Nothing
475.08 s
[really-safe-money-gen] + | True = Nothing
475.08 s
[really-safe-money-gen] | otherwise =
475.08 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
475.08 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
475.08 s
[really-safe-money-gen]
475.25 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21:
475.25 s
[really-safe-money-gen] @@ -325,7 +325,7 @@
475.25 s
[really-safe-money-gen] where
475.25 s
[really-safe-money-gen] go resultDouble
475.25 s
[really-safe-money-gen] | isNaN d = Nothing
475.25 s
[really-safe-money-gen] - | isInfinite d = Nothing
475.25 s
[really-safe-money-gen] + | False = Nothing
475.25 s
[really-safe-money-gen] | otherwise =
475.25 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
475.25 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
475.25 s
[really-safe-money-gen]
475.42 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:328:9-21:
475.42 s
[really-safe-money-gen] @@ -325,7 +325,7 @@
475.42 s
[really-safe-money-gen] where
475.42 s
[really-safe-money-gen] go resultDouble
475.42 s
[really-safe-money-gen] | isNaN d = Nothing
475.42 s
[really-safe-money-gen] - | isInfinite d = Nothing
475.42 s
[really-safe-money-gen] + | not (isInfinite d) = Nothing
475.42 s
[really-safe-money-gen] | otherwise =
475.42 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
475.42 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
475.42 s
[really-safe-money-gen]
475.60 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
475.60 s
[really-safe-money-gen] @@ -326,7 +326,7 @@
475.60 s
[really-safe-money-gen] go resultDouble
475.60 s
[really-safe-money-gen] | isNaN d = Nothing
475.60 s
[really-safe-money-gen] | isInfinite d = Nothing
475.60 s
[really-safe-money-gen] - | otherwise =
475.60 s
[really-safe-money-gen] + | True =
475.61 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
475.61 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
475.61 s
[really-safe-money-gen] if exponent resultDouble > 65
475.61 s
[really-safe-money-gen]
475.75 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
475.75 s
[really-safe-money-gen] @@ -326,7 +326,7 @@
475.75 s
[really-safe-money-gen] go resultDouble
475.75 s
[really-safe-money-gen] | isNaN d = Nothing
475.75 s
[really-safe-money-gen] | isInfinite d = Nothing
475.75 s
[really-safe-money-gen] - | otherwise =
475.75 s
[really-safe-money-gen] + | False =
475.75 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
475.75 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
475.75 s
[really-safe-money-gen] if exponent resultDouble > 65
475.75 s
[really-safe-money-gen]
475.90 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:329:9-18:
475.90 s
[really-safe-money-gen] @@ -326,7 +326,7 @@
475.90 s
[really-safe-money-gen] go resultDouble
475.90 s
[really-safe-money-gen] | isNaN d = Nothing
475.90 s
[really-safe-money-gen] | isInfinite d = Nothing
475.90 s
[really-safe-money-gen] - | otherwise =
475.90 s
[really-safe-money-gen] + | not (otherwise) =
475.90 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
475.90 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
475.90 s
[really-safe-money-gen] if exponent resultDouble > 65
475.90 s
[really-safe-money-gen]
476.00 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
476.00 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
476.00 s
[really-safe-money-gen] | otherwise =
476.00 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
476.00 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
476.00 s
[really-safe-money-gen] - if exponent resultDouble > 65
476.00 s
[really-safe-money-gen] + if exponent resultDouble > 0
476.00 s
[really-safe-money-gen] then Nothing
476.00 s
[really-safe-money-gen] else
476.00 s
[really-safe-money-gen] let ceiled :: Natural
476.00 s
[really-safe-money-gen]
476.13 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
476.13 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
476.13 s
[really-safe-money-gen] | otherwise =
476.13 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
476.13 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
476.14 s
[really-safe-money-gen] - if exponent resultDouble > 65
476.14 s
[really-safe-money-gen] + if exponent resultDouble > 1
476.14 s
[really-safe-money-gen] then Nothing
476.14 s
[really-safe-money-gen] else
476.14 s
[really-safe-money-gen] let ceiled :: Natural
476.14 s
[really-safe-money-gen]
476.27 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
476.34 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
476.34 s
[really-safe-money-gen] | otherwise =
476.34 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
476.34 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
476.34 s
[really-safe-money-gen] - if exponent resultDouble > 65
476.34 s
[really-safe-money-gen] + if exponent resultDouble > -65
476.34 s
[really-safe-money-gen] then Nothing
476.34 s
[really-safe-money-gen] else
476.34 s
[really-safe-money-gen] let ceiled :: Natural
476.34 s
[really-safe-money-gen]
476.41 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40:
476.41 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
476.41 s
[really-safe-money-gen] | otherwise =
476.41 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
476.41 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
476.41 s
[really-safe-money-gen] - if exponent resultDouble > 65
476.41 s
[really-safe-money-gen] + if True
476.41 s
[really-safe-money-gen] then Nothing
476.41 s
[really-safe-money-gen] else
476.41 s
[really-safe-money-gen] let ceiled :: Natural
476.41 s
[really-safe-money-gen]
476.62 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40:
476.62 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
476.62 s
[really-safe-money-gen] | otherwise =
476.62 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
476.62 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
476.62 s
[really-safe-money-gen] - if exponent resultDouble > 65
476.62 s
[really-safe-money-gen] + if False
476.62 s
[really-safe-money-gen] then Nothing
476.62 s
[really-safe-money-gen] else
476.62 s
[really-safe-money-gen] let ceiled :: Natural
476.62 s
[really-safe-money-gen]
476.85 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:332:14-40:
476.85 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
476.85 s
[really-safe-money-gen] | otherwise =
476.85 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
476.85 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
476.85 s
[really-safe-money-gen] - if exponent resultDouble > 65
476.85 s
[really-safe-money-gen] + if not (exponent resultDouble > 65)
476.85 s
[really-safe-money-gen] then Nothing
476.85 s
[really-safe-money-gen] else
476.85 s
[really-safe-money-gen] let ceiled :: Natural
476.85 s
[really-safe-money-gen]
477.08 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39:
477.08 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
477.08 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
477.08 s
[really-safe-money-gen] floored :: Natural
477.08 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
477.08 s
[really-safe-money-gen] - in if ceiled == floored
477.08 s
[really-safe-money-gen] + in if True
477.08 s
[really-safe-money-gen] then
477.08 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
477.08 s
[really-safe-money-gen] then Nothing
477.08 s
[really-safe-money-gen]
477.23 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39:
477.23 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
477.23 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
477.23 s
[really-safe-money-gen] floored :: Natural
477.24 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
477.24 s
[really-safe-money-gen] - in if ceiled == floored
477.24 s
[really-safe-money-gen] + in if False
477.24 s
[really-safe-money-gen] then
477.24 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
477.24 s
[really-safe-money-gen] then Nothing
477.24 s
[really-safe-money-gen]
477.38 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:339:22-39:
477.38 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
477.38 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
477.38 s
[really-safe-money-gen] floored :: Natural
477.38 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
477.38 s
[really-safe-money-gen] - in if ceiled == floored
477.38 s
[really-safe-money-gen] + in if not (ceiled == floored)
477.38 s
[really-safe-money-gen] then
477.39 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
477.39 s
[really-safe-money-gen] then Nothing
477.39 s
[really-safe-money-gen]
477.53 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91:
477.53 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
477.53 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
477.53 s
[really-safe-money-gen] in if ceiled == floored
477.53 s
[really-safe-money-gen] then
477.53 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
477.53 s
[really-safe-money-gen] + if True
477.53 s
[really-safe-money-gen] then Nothing
477.53 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
477.53 s
[really-safe-money-gen] else Nothing
477.53 s
[really-safe-money-gen]
477.76 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91:
477.76 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
477.76 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
477.76 s
[really-safe-money-gen] in if ceiled == floored
477.76 s
[really-safe-money-gen] then
477.76 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
477.76 s
[really-safe-money-gen] + if False
477.76 s
[really-safe-money-gen] then Nothing
477.76 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
477.76 s
[really-safe-money-gen] else Nothing
477.76 s
[really-safe-money-gen]
477.98 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:341:26-91:
477.98 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
477.98 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
477.98 s
[really-safe-money-gen] in if ceiled == floored
477.98 s
[really-safe-money-gen] then
477.98 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
477.98 s
[really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
477.98 s
[really-safe-money-gen] then Nothing
477.98 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
477.98 s
[really-safe-money-gen] else Nothing
477.98 s
[really-safe-money-gen]
478.13 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:341:23-65:
478.13 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
478.13 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
478.13 s
[really-safe-money-gen] in if ceiled == floored
478.13 s
[really-safe-money-gen] then
478.13 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
478.13 s
[really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
478.13 s
[really-safe-money-gen] then Nothing
478.13 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
478.13 s
[really-safe-money-gen] else Nothing
478.13 s
[really-safe-money-gen]
478.28 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:339:19-33:
478.28 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
478.28 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
478.28 s
[really-safe-money-gen] floored :: Natural
478.28 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
478.28 s
[really-safe-money-gen] - in if ceiled == floored
478.28 s
[really-safe-money-gen] + in if ceiled == floored
478.28 s
[really-safe-money-gen] then
478.28 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
478.28 s
[really-safe-money-gen] then Nothing
478.28 s
[really-safe-money-gen]
478.43 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:332:11-33:
478.43 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
478.43 s
[really-safe-money-gen] | otherwise =
478.43 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
478.43 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
478.43 s
[really-safe-money-gen] - if exponent resultDouble > 65
478.43 s
[really-safe-money-gen] + if exponent resultDouble > 65
478.43 s
[really-safe-money-gen] then Nothing
478.43 s
[really-safe-money-gen] else
478.43 s
[really-safe-money-gen] let ceiled :: Natural
478.43 s
[really-safe-money-gen]
478.65 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:290:79-80:
478.65 s
[really-safe-money-gen] @@ -287,7 +287,7 @@
478.65 s
[really-safe-money-gen] -- >>> toRatio (QuantisationFactor 100) (Amount 1)
478.65 s
[really-safe-money-gen] -- 1 % 100
478.65 s
[really-safe-money-gen] toRatio :: QuantisationFactor -> Amount -> Ratio Natural
478.65 s
[really-safe-money-gen] -toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 0
478.65 s
[really-safe-money-gen] +toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 1
478.65 s
[really-safe-money-gen] toRatio (QuantisationFactor quantisationFactor) a =
478.66 s
[really-safe-money-gen] (fromIntegral :: Word64 -> Natural) (toMinimalQuantisations a)
478.66 s
[really-safe-money-gen] % (fromIntegral :: Word32 -> Natural) quantisationFactor
478.66 s
[really-safe-money-gen]
478.75 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:494:96-97:
478.75 s
[really-safe-money-gen] @@ -491,7 +491,7 @@
478.75 s
[really-safe-money-gen] let maxBoundI :: Integer
478.75 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
478.75 s
[really-safe-money-gen] r :: Integer
478.75 s
[really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
478.75 s
[really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 1 l
478.75 s
[really-safe-money-gen] in if r > maxBoundI
478.75 s
[really-safe-money-gen] then Nothing
478.75 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
478.75 s
[really-safe-money-gen]
478.85 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23:
478.85 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
478.85 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
478.85 s
[really-safe-money-gen] r :: Integer
478.85 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
478.85 s
[really-safe-money-gen] - in if r > maxBoundI
478.85 s
[really-safe-money-gen] + in if True
478.85 s
[really-safe-money-gen] then Nothing
478.85 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
478.85 s
[really-safe-money-gen]
478.85 s
[really-safe-money-gen]
478.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23:
478.98 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
478.98 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
478.99 s
[really-safe-money-gen] r :: Integer
478.99 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
478.99 s
[really-safe-money-gen] - in if r > maxBoundI
478.99 s
[really-safe-money-gen] + in if False
478.99 s
[really-safe-money-gen] then Nothing
478.99 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
478.99 s
[really-safe-money-gen]
478.99 s
[really-safe-money-gen]
479.12 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:495:10-23:
479.12 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
479.12 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
479.12 s
[really-safe-money-gen] r :: Integer
479.12 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
479.12 s
[really-safe-money-gen] - in if r > maxBoundI
479.12 s
[really-safe-money-gen] + in if not (r > maxBoundI)
479.12 s
[really-safe-money-gen] then Nothing
479.12 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
479.12 s
[really-safe-money-gen]
479.12 s
[really-safe-money-gen]
479.22 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:495:7-66:
479.22 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
479.22 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
479.22 s
[really-safe-money-gen] r :: Integer
479.22 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
479.22 s
[really-safe-money-gen] - in if r > maxBoundI
479.22 s
[really-safe-money-gen] + in if r > maxBoundI
479.22 s
[really-safe-money-gen] then Nothing
479.22 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
479.22 s
[really-safe-money-gen]
479.22 s
[really-safe-money-gen]
479.32 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:250:15-16:
479.32 s
[really-safe-money-gen] @@ -247,7 +247,7 @@
479.32 s
[really-safe-money-gen] -- >>> zero
479.32 s
[really-safe-money-gen] -- Amount 0
479.32 s
[really-safe-money-gen] zero :: Amount
479.32 s
[really-safe-money-gen] -zero = Amount 0
479.32 s
[really-safe-money-gen] +zero = Amount 1
479.32 s
[really-safe-money-gen]
479.32 s
[really-safe-money-gen] -- | Turn an amount into a number of minimal quantisations.
479.32 s
[really-safe-money-gen] --
479.32 s
[really-safe-money-gen]
479.42 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:661:30-31:
479.42 s
[really-safe-money-gen] @@ -658,7 +658,7 @@
479.42 s
[really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
479.42 s
[really-safe-money-gen] (Maybe Amount, Ratio Natural)
479.42 s
[really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
479.42 s
[really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
479.42 s
[really-safe-money-gen] +fraction _ _ 0 = (Just zero, 1)
479.42 s
[really-safe-money-gen] fraction r (Amount a) f =
479.42 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
479.42 s
[really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
479.42 s
[really-safe-money-gen]
479.63 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37:
479.63 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
479.63 s
[really-safe-money-gen] maxBoundN :: Natural
479.63 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
479.63 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
479.63 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
479.63 s
[really-safe-money-gen] + in ( if True
479.63 s
[really-safe-money-gen] then Nothing
479.63 s
[really-safe-money-gen] else Just result,
479.63 s
[really-safe-money-gen] actualRate
479.63 s
[really-safe-money-gen]
479.79 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37:
479.79 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
479.79 s
[really-safe-money-gen] maxBoundN :: Natural
479.79 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
479.79 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
479.79 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
479.79 s
[really-safe-money-gen] + in ( if False
479.79 s
[really-safe-money-gen] then Nothing
479.79 s
[really-safe-money-gen] else Just result,
479.79 s
[really-safe-money-gen] actualRate
479.79 s
[really-safe-money-gen]
479.96 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:681:12-37:
479.96 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
479.96 s
[really-safe-money-gen] maxBoundN :: Natural
479.96 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
479.96 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
479.96 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
479.96 s
[really-safe-money-gen] + in ( if not (roundedResult > maxBoundN)
479.96 s
[really-safe-money-gen] then Nothing
479.96 s
[really-safe-money-gen] else Just result,
479.96 s
[really-safe-money-gen] actualRate
479.96 s
[really-safe-money-gen]
480.13 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:681:9-27:
480.13 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
480.13 s
[really-safe-money-gen] maxBoundN :: Natural
480.13 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
480.13 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
480.13 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
480.13 s
[really-safe-money-gen] + in ( if roundedResult > maxBoundN
480.13 s
[really-safe-money-gen] then Nothing
480.13 s
[really-safe-money-gen] else Just result,
480.13 s
[really-safe-money-gen] actualRate
480.13 s
[really-safe-money-gen]
480.29 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92:
480.29 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
480.29 s
[really-safe-money-gen]
480.29 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
480.29 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
480.29 s
[really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
480.29 s
[really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ True
480.29 s
[really-safe-money-gen]
480.29 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92:
480.29 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
480.29 s
[really-safe-money-gen]
480.29 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
480.29 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
480.29 s
[really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
480.29 s
[really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ False
480.29 s
[really-safe-money-gen]
480.29 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:806:79-92:
480.29 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
480.29 s
[really-safe-money-gen]
480.29 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
480.29 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
480.30 s
[really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
480.30 s
[really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ not (amount > zero)
480.30 s
[really-safe-money-gen]
480.30 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
480.30 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
480.30 s
[really-safe-money-gen] case ad of
480.30 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
480.30 s
[really-safe-money-gen] declare "The larger chunks are larger" $
480.30 s
[really-safe-money-gen] - a1 > a2
480.30 s
[really-safe-money-gen] + True
480.30 s
[really-safe-money-gen] _ -> valid
480.30 s
[really-safe-money-gen] ]
480.30 s
[really-safe-money-gen]
480.30 s
[really-safe-money-gen]
480.50 s
[really-safe-money-gen] Double) qf
480.50 s
[really-safe-money-gen] Tests:
480.50 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AccountSpec
480.51 s
[really-safe-money-gen] fromDouble
480.51 s
[really-safe-money-gen] ✓ produces valid rational 36.51 ms
480.51 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 10000
480.51 s
[really-safe-money-gen] Passed: 1
480.51 s
[really-safe-money-gen] Failed: 0
480.51 s
[really-safe-money-gen] Sum of test runtimes: 0.04 seconds
480.51 s
[really-safe-money-gen] Test suite took: 0.04 seconds
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
480.51 s
[really-safe-money-gen] @@ -318,7 +318,7 @@
480.51 s
[really-safe-money-gen] Maybe Amount
480.51 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
480.51 s
[really-safe-money-gen] | d < 0 = Nothing
480.51 s
[really-safe-money-gen] - | otherwise =
480.51 s
[really-safe-money-gen] + | True =
480.51 s
[really-safe-money-gen] let resultDouble :: Double
480.51 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
480.51 s
[really-safe-money-gen] in go resultDouble
480.51 s
[really-safe-money-gen] Tests:
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AccountSpec
480.51 s
[really-safe-money-gen] fromDouble
480.51 s
[really-safe-money-gen] ✓ produces valid rational 47.45 ms
480.51 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 10000
480.51 s
[really-safe-money-gen] Passed: 1
480.51 s
[really-safe-money-gen] Failed: 0
480.51 s
[really-safe-money-gen] Sum of test runtimes: 0.05 seconds
480.51 s
[really-safe-money-gen] Test suite took: 0.05 seconds
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
480.51 s
[really-safe-money-gen] @@ -318,7 +318,7 @@
480.51 s
[really-safe-money-gen] Maybe Amount
480.51 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
480.51 s
[really-safe-money-gen] | d < 0 = Nothing
480.51 s
[really-safe-money-gen] - | otherwise =
480.51 s
[really-safe-money-gen] + | False =
480.51 s
[really-safe-money-gen] let resultDouble :: Double
480.51 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
480.51 s
[really-safe-money-gen] in go resultDouble
480.51 s
[really-safe-money-gen] Tests:
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AccountSpec
480.51 s
[really-safe-money-gen] fromDouble
480.51 s
[really-safe-money-gen] ✓ produces valid rational 52.47 ms
480.51 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 10000
480.51 s
[really-safe-money-gen] Passed: 1
480.51 s
[really-safe-money-gen] Failed: 0
480.51 s
[really-safe-money-gen] Sum of test runtimes: 0.05 seconds
480.51 s
[really-safe-money-gen] Test suite took: 0.06 seconds
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
480.51 s
[really-safe-money-gen] @@ -326,7 +326,7 @@
480.51 s
[really-safe-money-gen] go resultDouble
480.51 s
[really-safe-money-gen] | isNaN d = Nothing
480.51 s
[really-safe-money-gen] | isInfinite d = Nothing
480.51 s
[really-safe-money-gen] - | otherwise =
480.51 s
[really-safe-money-gen] + | True =
480.51 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
480.51 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
480.51 s
[really-safe-money-gen] if exponent resultDouble > 65
480.51 s
[really-safe-money-gen] Tests:
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AccountSpec
480.51 s
[really-safe-money-gen] fromDouble
480.51 s
[really-safe-money-gen] ✓ produces valid rational 52.33 ms
480.51 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 10000
480.51 s
[really-safe-money-gen] Passed: 1
480.51 s
[really-safe-money-gen] Failed: 0
480.51 s
[really-safe-money-gen] Sum of test runtimes: 0.05 seconds
480.51 s
[really-safe-money-gen] Test suite took: 0.05 seconds
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
480.51 s
[really-safe-money-gen] @@ -326,7 +326,7 @@
480.51 s
[really-safe-money-gen] go resultDouble
480.51 s
[really-safe-money-gen] | isNaN d = Nothing
480.51 s
[really-safe-money-gen] | isInfinite d = Nothing
480.51 s
[really-safe-money-gen] - | otherwise =
480.51 s
[really-safe-money-gen] + | False =
480.51 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
480.51 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
480.51 s
[really-safe-money-gen] if exponent resultDouble > 65
480.51 s
[really-safe-money-gen] Tests:
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AccountSpec
480.51 s
[really-safe-money-gen] fromDouble
480.51 s
[really-safe-money-gen] ✓ produces valid rational 54.44 ms
480.51 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 10000
480.51 s
[really-safe-money-gen] Passed: 1
480.51 s
[really-safe-money-gen] Failed: 0
480.51 s
[really-safe-money-gen] Sum of test runtimes: 0.05 seconds
480.51 s
[really-safe-money-gen] Test suite took: 0.06 seconds
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
480.51 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
480.51 s
[really-safe-money-gen] | otherwise =
480.51 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
480.51 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
480.51 s
[really-safe-money-gen] - if exponent resultDouble > 65
480.51 s
[really-safe-money-gen] + if exponent resultDouble > 0
480.51 s
[really-safe-money-gen] then Nothing
480.51 s
[really-safe-money-gen] else
480.51 s
[really-safe-money-gen] let ceiled :: Natural
480.51 s
[really-safe-money-gen] Tests:
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AccountSpec
480.51 s
[really-safe-money-gen] fromDouble
480.51 s
[really-safe-money-gen] ✓ produces valid rational 46.32 ms
480.51 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 10000
480.51 s
[really-safe-money-gen] Passed: 1
480.51 s
[really-safe-money-gen] Failed: 0
480.51 s
[really-safe-money-gen] Sum of test runtimes: 0.05 seconds
480.51 s
[really-safe-money-gen] Test suite took: 0.05 seconds
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
480.51 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
480.51 s
[really-safe-money-gen] | otherwise =
480.51 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
480.51 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
480.51 s
[really-safe-money-gen] - if exponent resultDouble > 65
480.51 s
[really-safe-money-gen] + if exponent resultDouble > 1
480.51 s
[really-safe-money-gen] then Nothing
480.51 s
[really-safe-money-gen] else
480.51 s
[really-safe-money-gen] let ceiled :: Natural
480.51 s
[really-safe-money-gen] Tests:
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AccountSpec
480.51 s
[really-safe-money-gen] fromDouble
480.51 s
[really-safe-money-gen] ✓ produces valid rational 46.32 ms
480.51 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 10000
480.51 s
[really-safe-money-gen] Passed: 1
480.51 s
[really-safe-money-gen] Failed: 0
480.51 s
[really-safe-money-gen] Sum of test runtimes: 0.05 seconds
480.51 s
[really-safe-money-gen] Test suite took: 0.05 seconds
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
480.51 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
480.51 s
[really-safe-money-gen] | otherwise =
480.51 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
480.51 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
480.51 s
[really-safe-money-gen] - if exponent resultDouble > 65
480.51 s
[really-safe-money-gen] + if exponent resultDouble > -65
480.51 s
[really-safe-money-gen] then Nothing
480.51 s
[really-safe-money-gen] else
480.51 s
[really-safe-money-gen] let ceiled :: Natural
480.51 s
[really-safe-money-gen] Tests:
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AccountSpec
480.51 s
[really-safe-money-gen] fromDouble
480.51 s
[really-safe-money-gen] ✓ produces valid rational 45.93 ms
480.51 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 10000
480.51 s
[really-safe-money-gen] Passed: 1
480.51 s
[really-safe-money-gen] Failed: 0
480.51 s
[really-safe-money-gen] Sum of test runtimes: 0.05 seconds
480.51 s
[really-safe-money-gen] Test suite took: 0.05 seconds
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:494:96-97:
480.51 s
[really-safe-money-gen] @@ -491,7 +491,7 @@
480.51 s
[really-safe-money-gen] let maxBoundI :: Integer
480.51 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
480.51 s
[really-safe-money-gen] r :: Integer
480.51 s
[really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
480.51 s
[really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 1 l
480.51 s
[really-safe-money-gen] in if r > maxBoundI
480.51 s
[really-safe-money-gen] then Nothing
480.51 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
480.51 s
[really-safe-money-gen] Tests:
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AmountOfSpec
480.51 s
[really-safe-money-gen] USD
480.51 s
[really-safe-money-gen] sum
480.51 s
[really-safe-money-gen] ✓ produces valid amounts 1.33 ms
480.51 s
[really-safe-money-gen] passed for all of 100 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 100
480.51 s
[really-safe-money-gen] Passed: 1
480.51 s
[really-safe-money-gen] Failed: 0
480.51 s
[really-safe-money-gen] Sum of test runtimes: 0.00 seconds
480.51 s
[really-safe-money-gen] Test suite took: 0.00 seconds
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:661:30-31:
480.51 s
[really-safe-money-gen] @@ -658,7 +658,7 @@
480.51 s
[really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
480.51 s
[really-safe-money-gen] (Maybe Amount, Ratio Natural)
480.51 s
[really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
480.51 s
[really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
480.51 s
[really-safe-money-gen] +fraction _ _ 0 = (Just zero, 1)
480.51 s
[really-safe-money-gen] fraction r (Amount a) f =
480.51 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
480.51 s
[really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
480.51 s
[really-safe-money-gen] Tests:
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Money.AccountSpec
480.51 s
[really-safe-money-gen] fractionRatio
480.51 s
[really-safe-money-gen] ✓ produces valid amounts 106.69 ms
480.51 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen]
480.51 s
[really-safe-money-gen] Examples: 10000
480.51 s
[really-safe-money-gen] Passed: 1
480.52 s
[really-safe-money-gen] Failed: 0
480.52 s
[really-safe-money-gen] Sum of test runtimes: 0.11 seconds
480.52 s
[really-safe-money-gen] Test suite took: 0.11 seconds
480.52 s
[really-safe-money-gen]
480.52 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
480.52 s
[really-safe-money-gen] @Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
480.52 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
480.52 s
[really-safe-money-gen] case ad of
480.52 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
480.52 s
[really-safe-money-gen] declare "The larger chunks are larger" $
480.52 s
[really-safe-money-gen] - a1 > a2
480.52 s
[really-safe-money-gen] + False
480.52 s
[really-safe-money-gen] _ -> valid
480.52 s
[really-safe-money-gen] ]
480.52 s
[really-safe-money-gen]
480.52 s
[really-safe-money-gen]
480.72 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:607:15-22:
480.72 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
480.72 s
[really-safe-money-gen] case ad of
480.72 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
480.72 s
[really-safe-money-gen] declare "The larger chunks are larger" $
480.72 s
[really-safe-money-gen] - a1 > a2
480.72 s
[really-safe-money-gen] + not (a1 > a2)
480.72 s
[really-safe-money-gen] _ -> valid
480.72 s
[really-safe-money-gen] ]
480.72 s
[really-safe-money-gen]
480.72 s
[really-safe-money-gen]
480.81 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
480.81 s
[really-safe-money-gen] @@ -600,7 +600,7 @@
480.81 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
480.81 s
[really-safe-money-gen] validate ad =
480.81 s
[really-safe-money-gen] mconcat
480.82 s
[really-safe-money-gen] - [ genericValidate ad,
480.82 s
[really-safe-money-gen] + [ genericValidate ad,
480.82 s
[really-safe-money-gen] case ad of
480.82 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
480.82 s
[really-safe-money-gen] declare "The larger chunks are larger" $
480.82 s
[really-safe-money-gen]
480.97 s
[really-safe-money-gen] @ -604,7 +604,7 @@
480.97 s
[really-safe-money-gen] case ad of
480.97 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
480.97 s
[really-safe-money-gen] declare "The larger chunks are larger" $
480.97 s
[really-safe-money-gen] - a1 > a2
480.97 s
[really-safe-money-gen] + True
480.97 s
[really-safe-money-gen] _ -> valid
480.97 s
[really-safe-money-gen] ]
480.97 s
[really-safe-money-gen]
480.97 s
[really-safe-money-gen] Tests:
480.97 s
[really-safe-money-gen]
480.97 s
[really-safe-money-gen] Money.AccountSpec
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 42.89 ms
480.97 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.97 s
[really-safe-money-gen] Money.AccountOfSpec
480.97 s
[really-safe-money-gen] USD
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.40 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] INR
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.35 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] CHF
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.75 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] ADA
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.36 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] BTC
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.46 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] Money.AmountOfSpec
480.97 s
[really-safe-money-gen] USD
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.27 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] ADA
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.30 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] INR
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.41 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] BTC
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.68 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] CHF
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.41 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] Money.AmountSpec
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] GenValid (Distribution Amount)
480.97 s
[really-safe-money-gen] genValid :: Gen (Distribution Amount)
480.97 s
[really-safe-money-gen] ✓ only generates valid '(Distribution Amount)'s 27.21 ms
480.97 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 35.89 ms
480.97 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.97 s
[really-safe-money-gen]
480.97 s
[really-safe-money-gen]
480.97 s
[really-safe-money-gen]
480.97 s
[really-safe-money-gen] Examples: 31000
480.97 s
[really-safe-money-gen] Passed: 13
480.97 s
[really-safe-money-gen] Failed: 0
480.97 s
[really-safe-money-gen] Sum of test runtimes: 0.11 seconds
480.97 s
[really-safe-money-gen] Test suite took: 0.12 seconds
480.97 s
[really-safe-money-gen]
480.97 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
480.97 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
480.97 s
[really-safe-money-gen] case ad of
480.97 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
480.97 s
[really-safe-money-gen] declare "The larger chunks are larger" $
480.97 s
[really-safe-money-gen] - a1 > a2
480.97 s
[really-safe-money-gen] + False
480.97 s
[really-safe-money-gen] _ -> valid
480.97 s
[really-safe-money-gen] ]
480.97 s
[really-safe-money-gen]
480.97 s
[really-safe-money-gen] Tests:
480.97 s
[really-safe-money-gen]
480.97 s
[really-safe-money-gen] Money.AccountSpec
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 44.16 ms
480.97 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.97 s
[really-safe-money-gen] Money.AccountOfSpec
480.97 s
[really-safe-money-gen] USD
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.33 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] INR
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.32 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] CHF
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.88 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] ADA
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.34 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] BTC
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.30 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] Money.AmountOfSpec
480.97 s
[really-safe-money-gen] USD
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.33 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] ADA
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.26 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] INR
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.27 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] BTC
480.97 s
[really-safe-money-gen] distribute
480.97 s
[really-safe-money-gen] ✓ produces valid amounts 0.92 ms
480.97 s
[really-safe-money-gen] passed for all of 100 inputs.
480.97 s
[really-safe-money-gen] CHF
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] ✓ produces valid amounts 0.47 ms
480.98 s
[really-safe-money-gen] passed for all of 100 inputs.
480.98 s
[really-safe-money-gen] Money.AmountSpec
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] GenValid (Distribution Amount)
480.98 s
[really-safe-money-gen] genValid :: Gen (Distribution Amount)
480.98 s
[really-safe-money-gen] ✓ only generates valid '(Distribution Amount)'s 30.43 ms
480.98 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.98 s
[really-safe-money-gen] ✓ produces valid amounts 35.75 ms
480.98 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.98 s
[really-safe-money-gen]
480.98 s
[really-safe-money-gen]
480.98 s
[really-safe-money-gen]
480.98 s
[really-safe-money-gen] Examples: 31000
480.98 s
[really-safe-money-gen] Passed: 13
480.98 s
[really-safe-money-gen] Failed: 0
480.98 s
[really-safe-money-gen] Sum of test runtimes: 0.11 seconds
480.98 s
[really-safe-money-gen] Test suite took: 0.12 seconds
480.98 s
[really-safe-money-gen]
480.98 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
480.98 s
[really-safe-money-gen] @@ -600,7 +600,7 @@
480.98 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
480.98 s
[really-safe-money-gen] validate ad =
480.98 s
[really-safe-money-gen] mconcat
480.98 s
[really-safe-money-gen] - [ genericValidate ad,
480.98 s
[really-safe-money-gen] + [ genericValidate ad,
480.98 s
[really-safe-money-gen] case ad of
480.98 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
480.98 s
[really-safe-money-gen] declare "The larger chunks are larger" $
480.98 s
[really-safe-money-gen] Tests:
480.98 s
[really-safe-money-gen]
480.98 s
[really-safe-money-gen] Money.AccountSpec
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] ✓ produces valid amounts 19.56 ms
480.98 s
[really-safe-money-gen] passed for all of 10000 inputs.
480.98 s
[really-safe-money-gen] Money.AccountOfSpec
480.98 s
[really-safe-money-gen] USD
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] ✓ produces valid amounts 0.12 ms
480.98 s
[really-safe-money-gen] passed for all of 100 inputs.
480.98 s
[really-safe-money-gen] INR
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] ✓ produces valid amounts 0.17 ms
480.98 s
[really-safe-money-gen] passed for all of 100 inputs.
480.98 s
[really-safe-money-gen] CHF
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] ✓ produces valid amounts 0.19 ms
480.98 s
[really-safe-money-gen] passed for all of 100 inputs.
480.98 s
[really-safe-money-gen] ADA
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] ✓ produces valid amounts 0.14 ms
480.98 s
[really-safe-money-gen] passed for all of 100 inputs.
480.98 s
[really-safe-money-gen] BTC
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] ✓ produces valid amounts 0.57 ms
480.98 s
[really-safe-money-gen] passed for all of 100 inputs.
480.98 s
[really-safe-money-gen] Money.AmountOfSpec
480.98 s
[really-safe-money-gen] USD
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
480.98 s
[really-safe-money-gen] passed for all of 100 inputs.
480.98 s
[really-safe-money-gen] ADA
480.98 s
[really-safe-money-gen] distribute
480.98 s
[really-safe-money-gen] ✓ produces valid amounts Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
480.98 s
[really-safe-money-gen] @@ -600,7 +600,7 @@
480.98 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
480.98 s
[really-safe-money-gen] validate ad =
480.98 s
[really-safe-money-gen] mconcat
480.98 s
[really-safe-money-gen] - [ genericValidate ad,
480.98 s
[really-safe-money-gen] + [ genericValidate ad,
480.98 s
[really-safe-money-gen] case ad of
480.98 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
480.98 s
[really-safe-money-gen] declare "The larger chunks are larger" $
480.98 s
[really-safe-money-gen]
481.12 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28:
481.12 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
481.12 s
[really-safe-money-gen] fromDecimalLiteral dl = do
481.12 s
[really-safe-money-gen] irat <-
481.12 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
481.12 s
[really-safe-money-gen] - in if numerator r == 0
481.12 s
[really-safe-money-gen] + in if numerator r == 1
481.12 s
[really-safe-money-gen] then Nothing
481.12 s
[really-safe-money-gen] else pure r
481.12 s
[really-safe-money-gen]
481.12 s
[really-safe-money-gen]
481.27 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28:
481.27 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
481.37 s
[really-safe-money-gen] fromDecimalLiteral dl = do
481.37 s
[really-safe-money-gen] irat <-
481.37 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
481.37 s
[really-safe-money-gen] - in if numerator r == 0
481.37 s
[really-safe-money-gen] + in if True
481.37 s
[really-safe-money-gen] then Nothing
481.37 s
[really-safe-money-gen] else pure r
481.37 s
[really-safe-money-gen]
481.37 s
[really-safe-money-gen]
481.61 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28:
481.61 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
481.61 s
[really-safe-money-gen] fromDecimalLiteral dl = do
481.61 s
[really-safe-money-gen] irat <-
481.61 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
481.61 s
[really-safe-money-gen] - in if numerator r == 0
481.61 s
[really-safe-money-gen] + in if False
481.61 s
[really-safe-money-gen] then Nothing
481.61 s
[really-safe-money-gen] else pure r
481.61 s
[really-safe-money-gen]
481.61 s
[really-safe-money-gen]
481.97 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:87:12-28:
481.97 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
481.97 s
[really-safe-money-gen] fromDecimalLiteral dl = do
481.97 s
[really-safe-money-gen] irat <-
481.97 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
481.97 s
[really-safe-money-gen] - in if numerator r == 0
481.97 s
[really-safe-money-gen] + in if not (numerator r == 0)
481.97 s
[really-safe-money-gen] then Nothing
481.97 s
[really-safe-money-gen] else pure r
481.97 s
[really-safe-money-gen]
481.97 s
[really-safe-money-gen]
482.11 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:87:9-22:
482.11 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
482.11 s
[really-safe-money-gen] fromDecimalLiteral dl = do
482.11 s
[really-safe-money-gen] irat <-
482.11 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
482.11 s
[really-safe-money-gen] - in if numerator r == 0
482.11 s
[really-safe-money-gen] + in if numerator r == 0
482.11 s
[really-safe-money-gen] then Nothing
482.11 s
[really-safe-money-gen] else pure r
482.11 s
[really-safe-money-gen]
482.11 s
[really-safe-money-gen]
482.25 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14:
482.25 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
482.25 s
[really-safe-money-gen] else pure r
482.25 s
[really-safe-money-gen]
482.25 s
[really-safe-money-gen] rat <-
482.25 s
[really-safe-money-gen] - let r = 1 / irat
482.25 s
[really-safe-money-gen] + let r = 0 / irat
482.25 s
[really-safe-money-gen] in if r < 0
482.25 s
[really-safe-money-gen] then Nothing
482.25 s
[really-safe-money-gen] else Just r
482.25 s
[really-safe-money-gen]
482.34 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14:
482.34 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
482.34 s
[really-safe-money-gen] else pure r
482.34 s
[really-safe-money-gen]
482.34 s
[really-safe-money-gen] rat <-
482.34 s
[really-safe-money-gen] - let r = 1 / irat
482.34 s
[really-safe-money-gen] + let r = -1 / irat
482.34 s
[really-safe-money-gen] in if r < 0
482.34 s
[really-safe-money-gen] then Nothing
482.34 s
[really-safe-money-gen] else Just r
482.34 s
[really-safe-money-gen]
482.43 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17:
482.43 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
482.43 s
[really-safe-money-gen]
482.43 s
[really-safe-money-gen] rat <-
482.43 s
[really-safe-money-gen] let r = 1 / irat
482.43 s
[really-safe-money-gen] - in if r < 0
482.43 s
[really-safe-money-gen] + in if r < 1
482.43 s
[really-safe-money-gen] then Nothing
482.43 s
[really-safe-money-gen] else Just r
482.43 s
[really-safe-money-gen]
482.43 s
[really-safe-money-gen]
482.57 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17:
482.57 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
482.57 s
[really-safe-money-gen]
482.57 s
[really-safe-money-gen] rat <-
482.57 s
[really-safe-money-gen] let r = 1 / irat
482.57 s
[really-safe-money-gen] - in if r < 0
482.57 s
[really-safe-money-gen] + in if True
482.57 s
[really-safe-money-gen] then Nothing
482.57 s
[really-safe-money-gen] else Just r
482.57 s
[really-safe-money-gen]
482.57 s
[really-safe-money-gen]
482.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17:
482.98 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
482.98 s
[really-safe-money-gen]
482.98 s
[really-safe-money-gen] rat <-
482.98 s
[really-safe-money-gen] let r = 1 / irat
482.98 s
[really-safe-money-gen] - in if r < 0
482.98 s
[really-safe-money-gen] + in if False
482.98 s
[really-safe-money-gen] then Nothing
482.98 s
[really-safe-money-gen] else Just r
482.98 s
[really-safe-money-gen]
482.98 s
[really-safe-money-gen]
483.39 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:93:12-17:
483.39 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
483.39 s
[really-safe-money-gen]
483.39 s
[really-safe-money-gen] rat <-
483.39 s
[really-safe-money-gen] let r = 1 / irat
483.39 s
[really-safe-money-gen] - in if r < 0
483.39 s
[really-safe-money-gen] + in if not (r < 0)
483.39 s
[really-safe-money-gen] then Nothing
483.39 s
[really-safe-money-gen] else Just r
483.39 s
[really-safe-money-gen]
483.39 s
[really-safe-money-gen]
483.54 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:93:9-22:
483.54 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
483.54 s
[really-safe-money-gen]
483.54 s
[really-safe-money-gen] rat <-
483.54 s
[really-safe-money-gen] let r = 1 / irat
483.54 s
[really-safe-money-gen] - in if r < 0
483.54 s
[really-safe-money-gen] + in if r < 0
483.54 s
[really-safe-money-gen] then Nothing
483.54 s
[really-safe-money-gen] else Just r
483.54 s
[really-safe-money-gen]
483.54 s
[really-safe-money-gen]
483.69 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
483.69 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
483.69 s
[really-safe-money-gen] else Just r
483.69 s
[really-safe-money-gen]
483.69 s
[really-safe-money-gen] fac <-
483.69 s
[really-safe-money-gen] - if denominator rat == 1
483.69 s
[really-safe-money-gen] + if denominator rat == 0
483.69 s
[really-safe-money-gen] then Just (numerator rat)
483.69 s
[really-safe-money-gen] else Nothing
483.69 s
[really-safe-money-gen]
483.69 s
[really-safe-money-gen]
483.84 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
483.84 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
483.84 s
[really-safe-money-gen] else Just r
483.84 s
[really-safe-money-gen]
483.84 s
[really-safe-money-gen] fac <-
483.84 s
[really-safe-money-gen] - if denominator rat == 1
483.84 s
[really-safe-money-gen] + if denominator rat == -1
483.84 s
[really-safe-money-gen] then Just (numerator rat)
483.84 s
[really-safe-money-gen] else Nothing
483.84 s
[really-safe-money-gen]
483.84 s
[really-safe-money-gen]
483.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28:
483.99 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
483.99 s
[really-safe-money-gen] else Just r
483.99 s
[really-safe-money-gen]
483.99 s
[really-safe-money-gen] fac <-
483.99 s
[really-safe-money-gen] - if denominator rat == 1
483.99 s
[really-safe-money-gen] + if True
483.99 s
[really-safe-money-gen] then Just (numerator rat)
483.99 s
[really-safe-money-gen] else Nothing
483.99 s
[really-safe-money-gen]
483.99 s
[really-safe-money-gen]
484.09 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28:
484.09 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
484.09 s
[really-safe-money-gen] else Just r
484.09 s
[really-safe-money-gen]
484.09 s
[really-safe-money-gen] fac <-
484.09 s
[really-safe-money-gen] - if denominator rat == 1
484.09 s
[really-safe-money-gen] + if False
484.09 s
[really-safe-money-gen] then Just (numerator rat)
484.09 s
[really-safe-money-gen] else Nothing
484.09 s
[really-safe-money-gen]
484.09 s
[really-safe-money-gen]
484.18 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:98:8-28:
484.18 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
484.18 s
[really-safe-money-gen] else Just r
484.18 s
[really-safe-money-gen]
484.18 s
[really-safe-money-gen] fac <-
484.18 s
[really-safe-money-gen] - if denominator rat == 1
484.18 s
[really-safe-money-gen] + if not (denominator rat == 1)
484.18 s
[really-safe-money-gen] then Just (numerator rat)
484.18 s
[really-safe-money-gen] else Nothing
484.18 s
[really-safe-money-gen]
484.18 s
[really-safe-money-gen]
484.28 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:98:5-19:
484.28 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
484.28 s
[really-safe-money-gen] else Just r
484.28 s
[really-safe-money-gen]
484.28 s
[really-safe-money-gen] fac <-
484.28 s
[really-safe-money-gen] - if denominator rat == 1
484.28 s
[really-safe-money-gen] + if denominator rat == 1
484.28 s
[really-safe-money-gen] then Just (numerator rat)
484.28 s
[really-safe-money-gen] else Nothing
484.28 s
[really-safe-money-gen]
484.28 s
[really-safe-money-gen]
484.38 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46:
484.38 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
484.38 s
[really-safe-money-gen] then Just (numerator rat)
484.38 s
[really-safe-money-gen] else Nothing
484.38 s
[really-safe-money-gen]
484.38 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
484.38 s
[really-safe-money-gen] + if True
484.38 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
484.38 s
[really-safe-money-gen] else Nothing
484.38 s
[really-safe-money-gen]
484.48 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46:
484.48 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
484.48 s
[really-safe-money-gen] then Just (numerator rat)
484.48 s
[really-safe-money-gen] else Nothing
484.48 s
[really-safe-money-gen]
484.48 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
484.48 s
[really-safe-money-gen] + if False
484.48 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
484.48 s
[really-safe-money-gen] else Nothing
484.48 s
[really-safe-money-gen]
484.58 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:102:6-46:
484.58 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
484.58 s
[really-safe-money-gen] then Just (numerator rat)
484.58 s
[really-safe-money-gen] else Nothing
484.58 s
[really-safe-money-gen]
484.58 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
484.58 s
[really-safe-money-gen] + if not (fac <= fromIntegral (maxBound :: Word32))
484.58 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
484.59 s
[really-safe-money-gen] else Nothing
484.59 s
[really-safe-money-gen]
484.68 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68:
484.68 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
484.68 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
484.68 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
484.69 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
484.69 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
484.69 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (0 % fromIntegral qfw)
484.69 s
[really-safe-money-gen]
484.69 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
484.69 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
484.69 s
[really-safe-money-gen]
484.77 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68:
484.77 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
484.77 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
484.77 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
484.77 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
484.77 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
484.77 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (-1 % fromIntegral qfw)
484.77 s
[really-safe-money-gen]
484.77 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
484.77 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
484.77 s
[really-safe-money-gen]
484.87 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63:
484.87 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
484.87 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
484.87 s
[really-safe-money-gen] mconcat
484.87 s
[really-safe-money-gen] [ genericValidate qf,
484.87 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
484.87 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 1
484.87 s
[really-safe-money-gen] ]
484.87 s
[really-safe-money-gen]
484.87 s
[really-safe-money-gen] instance NFData QuantisationFactor
484.87 s
[really-safe-money-gen]
484.96 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
484.96 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
484.96 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
484.96 s
[really-safe-money-gen] mconcat
484.96 s
[really-safe-money-gen] [ genericValidate qf,
484.96 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
484.96 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
484.96 s
[really-safe-money-gen] ]
484.96 s
[really-safe-money-gen]
484.96 s
[really-safe-money-gen] instance NFData QuantisationFactor
484.96 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] 0.11 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] INR
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.11 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] BTC
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.11 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] CHF
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.12 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] Money.AmountSpec
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] GenValid (Distribution Amount)
486.03 s
[really-safe-money-gen] genValid :: Gen (Distribution Amount)
486.03 s
[really-safe-money-gen] ✓ only generates valid '(Distribution Amount)'s 18.96 ms
486.03 s
[really-safe-money-gen] passed for all of 10000 inputs.
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 18.80 ms
486.03 s
[really-safe-money-gen] passed for all of 10000 inputs.
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Examples: 31000
486.03 s
[really-safe-money-gen] Passed: 13
486.03 s
[really-safe-money-gen] Failed: 0
486.03 s
[really-safe-money-gen] Sum of test runtimes: 0.06 seconds
486.03 s
[really-safe-money-gen] Test suite took: 0.06 seconds
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
486.03 s
[really-safe-money-gen] @@ -600,7 +600,7 @@
486.03 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
486.03 s
[really-safe-money-gen] validate ad =
486.03 s
[really-safe-money-gen] mconcat
486.03 s
[really-safe-money-gen] - [ genericValidate ad,
486.03 s
[really-safe-money-gen] + [ genericValidate ad,
486.03 s
[really-safe-money-gen] case ad of
486.03 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
486.03 s
[really-safe-money-gen] declare "The larger chunks are larger" $
486.03 s
[really-safe-money-gen] Tests:
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Money.AccountSpec
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 18.56 ms
486.03 s
[really-safe-money-gen] passed for all of 10000 inputs.
486.03 s
[really-safe-money-gen] Money.AccountOfSpec
486.03 s
[really-safe-money-gen] USD
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.22 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] INR
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] CHF
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.19 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] ADA
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.19 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] BTC
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.51 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] Money.AmountOfSpec
486.03 s
[really-safe-money-gen] USD
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.20 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] ADA
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.14 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] INR
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.16 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] BTC
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.22 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] CHF
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 0.18 ms
486.03 s
[really-safe-money-gen] passed for all of 100 inputs.
486.03 s
[really-safe-money-gen] Money.AmountSpec
486.03 s
[really-safe-money-gen] distribute
486.03 s
[really-safe-money-gen] GenValid (Distribution Amount)
486.03 s
[really-safe-money-gen] genValid :: Gen (Distribution Amount)
486.03 s
[really-safe-money-gen] ✓ only generates valid '(Distribution Amount)'s 18.70 ms
486.03 s
[really-safe-money-gen] passed for all of 10000 inputs.
486.03 s
[really-safe-money-gen] ✓ produces valid amounts 18.81 ms
486.03 s
[really-safe-money-gen] passed for all of 10000 inputs.
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Examples: 31000
486.03 s
[really-safe-money-gen] Passed: 13
486.03 s
[really-safe-money-gen] Failed: 0
486.03 s
[really-safe-money-gen] Sum of test runtimes: 0.06 seconds
486.03 s
[really-safe-money-gen] Test suite took: 0.06 seconds
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28:
486.03 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
486.03 s
[really-safe-money-gen] fromDecimalLiteral dl = do
486.03 s
[really-safe-money-gen] irat <-
486.03 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
486.03 s
[really-safe-money-gen] - in if numerator r == 0
486.03 s
[really-safe-money-gen] + in if numerator r == 1
486.03 s
[really-safe-money-gen] then Nothing
486.03 s
[really-safe-money-gen] else pure r
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Tests:
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Money.QuantisationFactorSpec
486.03 s
[really-safe-money-gen] DecimalLiteral
486.03 s
[really-safe-money-gen] fromDecimalLiteral
486.03 s
[really-safe-money-gen] ✓ fails to render a non-1 integer 60.55 ms
486.03 s
[really-safe-money-gen] passed for all of 10000 inputs.
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Examples: 10000
486.03 s
[really-safe-money-gen] Passed: 1
486.03 s
[really-safe-money-gen] Failed: 0
486.03 s
[really-safe-money-gen] Sum of test runtimes: 0.06 seconds
486.03 s
[really-safe-money-gen] Test suite took: 0.06 seconds
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17:
486.03 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] rat <-
486.03 s
[really-safe-money-gen] let r = 1 / irat
486.03 s
[really-safe-money-gen] - in if r < 0
486.03 s
[really-safe-money-gen] + in if r < 1
486.03 s
[really-safe-money-gen] then Nothing
486.03 s
[really-safe-money-gen] else Just r
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Tests:
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Money.QuantisationFactorSpec
486.03 s
[really-safe-money-gen] DecimalLiteral
486.03 s
[really-safe-money-gen] fromDecimalLiteral
486.03 s
[really-safe-money-gen] ✓ fails to render a non-1 integer 51.07 ms
486.03 s
[really-safe-money-gen] passed for all of 10000 inputs.
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Examples: 10000
486.03 s
[really-safe-money-gen] Passed: 1
486.03 s
[really-safe-money-gen] Failed: 0
486.03 s
[really-safe-money-gen] Sum of test runtimes: 0.05 seconds
486.03 s
[really-safe-money-gen] Test suite took: 0.05 seconds
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
486.03 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
486.03 s
[really-safe-money-gen] else Just r
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] fac <-
486.03 s
[really-safe-money-gen] - if denominator rat == 1
486.03 s
[really-safe-money-gen] + if denominator rat == 0
486.03 s
[really-safe-money-gen] then Just (numerator rat)
486.03 s
[really-safe-money-gen] else Nothing
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Tests:
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Money.QuantisationFactorSpec
486.03 s
[really-safe-money-gen] DecimalLiteral
486.03 s
[really-safe-money-gen] fromDecimalLiteral
486.03 s
[really-safe-money-gen] ✓ fails to render a non-1 integer 60.98 ms
486.03 s
[really-safe-money-gen] passed for all of 10000 inputs.
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen]
486.03 s
[really-safe-money-gen] Examples: 10000
486.04 s
[really-safe-money-gen] Passed: 1
486.04 s
[really-safe-money-gen] Failed: 0
486.04 s
[really-safe-money-gen] Sum of test runtimes: 0.06 seconds
486.04 s
[really-safe-money-gen] Test suite took: 0.06 seconds
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
486.04 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
486.04 s
[really-safe-money-gen] else Just r
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen] fac <-
486.04 s
[really-safe-money-gen] - if denominator rat == 1
486.04 s
[really-safe-money-gen] + if denominator rat == -1
486.04 s
[really-safe-money-gen] then Just (numerator rat)
486.04 s
[really-safe-money-gen] else Nothing
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen] Tests:
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen] Money.QuantisationFactorSpec
486.04 s
[really-safe-money-gen] DecimalLiteral
486.04 s
[really-safe-money-gen] fromDecimalLiteral
486.04 s
[really-safe-money-gen] ✓ fails to render a non-1 integer 59.23 ms
486.04 s
[really-safe-money-gen] passed for all of 10000 inputs.
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen] Examples: 10000
486.04 s
[really-safe-money-gen] Passed: 1
486.04 s
[really-safe-money-gen] Failed: 0
486.04 s
[really-safe-money-gen] Sum of test runtimes: 0.06 seconds
486.04 s
[really-safe-money-gen] Test suite took: 0.06 seconds
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
486.04 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
486.04 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
486.04 s
[really-safe-money-gen] mconcat
486.04 s
[really-safe-money-gen] [ genericValidate qf,
486.04 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
486.04 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
486.04 s
[really-safe-money-gen] ]
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen] instance NFData QuantisationFactor
486.04 s
[really-safe-money-gen] Tests:
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen] Money.MultiAmountSpec
486.04 s
[really-safe-money-gen] fromAmount
486.04 s
[really-safe-money-gen] ✓ produces valid amounts 6.62 ms
486.04 s
[really-safe-money-gen] passed for all of 1000 inputs.
486.04 s
[really-safe-money-gen] sum
486.04 s
[really-safe-money-gen] ✓ Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
486.04 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
486.04 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
486.04 s
[really-safe-money-gen] mconcat
486.04 s
[really-safe-money-gen] [ genericValidate qf,
486.04 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
486.04 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
486.04 s
[really-safe-money-gen] ]
486.04 s
[really-safe-money-gen]
486.04 s
[really-safe-money-gen] instance NFData QuantisationFactor
486.04 s
[really-safe-money-gen]
487.13 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:40:57-63:
487.23 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
487.23 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
487.23 s
[really-safe-money-gen] mconcat
487.23 s
[really-safe-money-gen] [ genericValidate qf,
487.23 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
487.23 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ not (w /= 0)
487.23 s
[really-safe-money-gen] ]
487.23 s
[really-safe-money-gen]
487.23 s
[really-safe-money-gen] instance NFData QuantisationFactor
487.23 s
[really-safe-money-gen]
487.23 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
487.23 s
[really-safe-money-gen] @@ -36,7 +36,7 @@
487.23 s
[really-safe-money-gen] instance Validity QuantisationFactor where
487.23 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
487.23 s
[really-safe-money-gen] mconcat
487.23 s
[really-safe-money-gen] - [ genericValidate qf,
487.23 s
[really-safe-money-gen] + [ genericValidate qf,
487.23 s
[really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
487.23 s
[really-safe-money-gen] ]
487.23 s
[really-safe-money-gen]
487.23 s
[really-safe-money-gen]
488.16 s
[really-safe-money-gen] produces valid amounts 102.48 ms
488.16 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.16 s
[really-safe-money-gen] add
488.16 s
[really-safe-money-gen] ✓ produces valid amounts 70.57 ms
488.16 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.16 s
[really-safe-money-gen] addAmount
488.16 s
[really-safe-money-gen] ✓ produces valid amounts 41.61 ms
488.16 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.16 s
[really-safe-money-gen] subtractAmount
488.16 s
[really-safe-money-gen] ✓ produces valid amounts 14.83 ms
488.16 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.16 s
[really-safe-money-gen] GenValid (MultiAmount Currency)
488.16 s
[really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
488.16 s
[really-safe-money-gen] ✓ only generates valid '(MultiAmount Currency)'s 64.30 ms
488.16 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.16 s
[really-safe-money-gen] subtract
488.16 s
[really-safe-money-gen] ✓ produces valid amounts 22.80 ms
488.16 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.16 s
[really-safe-money-gen] Money.QuantisationFactorSpec
488.16 s
[really-safe-money-gen] fromWord32
488.16 s
[really-safe-money-gen] ✓ produces valid quantisation factors 28.46 ms
488.16 s
[really-safe-money-gen] passed for all of 10000 inputs.
488.16 s
[really-safe-money-gen] DecimalLiteral
488.16 s
[really-safe-money-gen] fromDecimalLiteral
488.16 s
[really-safe-money-gen] ✓ produces valid factors 83.17 ms
488.17 s
[really-safe-money-gen] passed for all of 10000 inputs.
488.17 s
[really-safe-money-gen] GenValid QuantisationFactor
488.17 s
[really-safe-money-gen] genValid :: Gen QuantisationFactor
488.17 s
[really-safe-money-gen] ✓ only generates valid 'QuantisationFactor's 29.54 ms
488.17 s
[really-safe-money-gen] passed for all of 10000 inputs.
488.17 s
[really-safe-money-gen] Money.MultiAccountSpec
488.17 s
[really-safe-money-gen] subtractAmount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 41.66 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] add
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 72.49 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] GenValid (MultiAccount Currency)
488.17 s
[really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
488.17 s
[really-safe-money-gen] ✓ only generates valid '(MultiAccount Currency)'s 62.53 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] sum
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 105.73 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] fromAccount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 7.37 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] addAccount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 42.43 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] subtract
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 79.40 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] addAmount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 46.02 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] subtractAccount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 47.30 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen] Examples: 46000
488.17 s
[really-safe-money-gen] Passed: 19
488.17 s
[really-safe-money-gen] Failed: 0
488.17 s
[really-safe-money-gen] Sum of test runtimes: 0.97 seconds
488.17 s
[really-safe-money-gen] Test suite took: 0.97 seconds
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
488.17 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
488.17 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
488.17 s
[really-safe-money-gen] mconcat
488.17 s
[really-safe-money-gen] [ genericValidate qf,
488.17 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
488.17 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
488.17 s
[really-safe-money-gen] ]
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen] instance NFData QuantisationFactor
488.17 s
[really-safe-money-gen] Tests:
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen] Money.MultiAmountSpec
488.17 s
[really-safe-money-gen] fromAmount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 7.62 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] sum
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 120.48 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] add
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 81.36 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] addAmount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 41.75 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] subtractAmount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 13.97 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] GenValid (MultiAmount Currency)
488.17 s
[really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
488.17 s
[really-safe-money-gen] ✓ only generates valid '(MultiAmount Currency)'s 61.63 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] subtract
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 22.05 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] Money.QuantisationFactorSpec
488.17 s
[really-safe-money-gen] fromWord32
488.17 s
[really-safe-money-gen] ✓ produces valid quantisation factors 26.55 ms
488.17 s
[really-safe-money-gen] passed for all of 10000 inputs.
488.17 s
[really-safe-money-gen] DecimalLiteral
488.17 s
[really-safe-money-gen] fromDecimalLiteral
488.17 s
[really-safe-money-gen] ✓ produces valid factors 84.42 ms
488.17 s
[really-safe-money-gen] passed for all of 10000 inputs.
488.17 s
[really-safe-money-gen] GenValid QuantisationFactor
488.17 s
[really-safe-money-gen] genValid :: Gen QuantisationFactor
488.17 s
[really-safe-money-gen] ✓ only generates valid 'QuantisationFactor's 30.70 ms
488.17 s
[really-safe-money-gen] passed for all of 10000 inputs.
488.17 s
[really-safe-money-gen] Money.MultiAccountSpec
488.17 s
[really-safe-money-gen] subtractAmount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 44.00 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] add
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 73.92 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] GenValid (MultiAccount Currency)
488.17 s
[really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
488.17 s
[really-safe-money-gen] ✓ only generates valid '(MultiAccount Currency)'s 67.71 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] sum
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 110.80 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] fromAccount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 7.71 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] addAccount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 39.30 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] subtract
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 73.20 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] addAmount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 44.82 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen] subtractAccount
488.17 s
[really-safe-money-gen] ✓ produces valid amounts 44.79 ms
488.17 s
[really-safe-money-gen] passed for all of 1000 inputs.
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen] Examples: 46000
488.17 s
[really-safe-money-gen] Passed: 19
488.17 s
[really-safe-money-gen] Failed: 0
488.17 s
[really-safe-money-gen] Sum of test runtimes: 1.00 seconds
488.17 s
[really-safe-money-gen] Test suite took: 1.00 seconds
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
488.17 s
[really-safe-money-gen] @@ -36,7 +36,7 @@
488.17 s
[really-safe-money-gen] instance Validity QuantisationFactor where
488.17 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
488.17 s
[really-safe-money-gen] mconcat
488.17 s
[really-safe-money-gen] - [ genericValidate qf,
488.17 s
[really-safe-money-gen] + [ generTesting mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
488.17 s
[really-safe-money-gen] @@ -36,7 +36,7 @@
488.17 s
[really-safe-money-gen] instance Validity QuantisationFactor where
488.17 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
488.17 s
[really-safe-money-gen] mconcat
488.17 s
[really-safe-money-gen] - [ genericValidate qf,
488.17 s
[really-safe-money-gen] + [ genericValidate qf,
488.17 s
[really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
488.17 s
[really-safe-money-gen] ]
488.17 s
[really-safe-money-gen]
488.17 s
[really-safe-money-gen]
489.09 s
[really-safe-money-gen] icValidate qf,
489.09 s
[really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
489.09 s
[really-safe-money-gen] ]
489.09 s
[really-safe-money-gen]
489.09 s
[really-safe-money-gen] Tests:
489.09 s
[really-safe-money-gen]
489.09 s
[really-safe-money-gen] Money.MultiAmountSpec
489.09 s
[really-safe-money-gen] fromAmount
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 7.13 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] sum
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 95.92 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] add
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 62.24 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] addAmount
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 37.42 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] subtractAmount
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 15.32 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] GenValid (MultiAmount Currency)
489.09 s
[really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
489.09 s
[really-safe-money-gen] ✓ only generates valid '(MultiAmount Currency)'s 63.41 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] subtract
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 24.05 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] Money.QuantisationFactorSpec
489.09 s
[really-safe-money-gen] fromWord32
489.09 s
[really-safe-money-gen] ✓ produces valid quantisation factors 19.61 ms
489.09 s
[really-safe-money-gen] passed for all of 10000 inputs.
489.09 s
[really-safe-money-gen] DecimalLiteral
489.09 s
[really-safe-money-gen] fromDecimalLiteral
489.09 s
[really-safe-money-gen] ✓ produces valid factors 74.77 ms
489.09 s
[really-safe-money-gen] passed for all of 10000 inputs.
489.09 s
[really-safe-money-gen] GenValid QuantisationFactor
489.09 s
[really-safe-money-gen] genValid :: Gen QuantisationFactor
489.09 s
[really-safe-money-gen] ✓ only generates valid 'QuantisationFactor's 18.84 ms
489.09 s
[really-safe-money-gen] passed for all of 10000 inputs.
489.09 s
[really-safe-money-gen] Money.MultiAccountSpec
489.09 s
[really-safe-money-gen] subtractAmount
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 39.00 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] add
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 74.57 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] GenValid (MultiAccount Currency)
489.09 s
[really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
489.09 s
[really-safe-money-gen] ✓ only generates valid '(MultiAccount Currency)'s 59.54 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] sum
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 82.72 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] fromAccount
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 5.83 ms
489.09 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.09 s
[really-safe-money-gen] addAccount
489.09 s
[really-safe-money-gen] ✓ produces valid amounts 34.93 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] subtract
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 59.72 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] addAmount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 35.82 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] subtractAccount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 36.21 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen]
489.10 s
[really-safe-money-gen]
489.10 s
[really-safe-money-gen]
489.10 s
[really-safe-money-gen] Examples: 46000
489.10 s
[really-safe-money-gen] Passed: 19
489.10 s
[really-safe-money-gen] Failed: 0
489.10 s
[really-safe-money-gen] Sum of test runtimes: 0.85 seconds
489.10 s
[really-safe-money-gen] Test suite took: 0.85 seconds
489.10 s
[really-safe-money-gen]
489.10 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
489.10 s
[really-safe-money-gen] @@ -36,7 +36,7 @@
489.10 s
[really-safe-money-gen] instance Validity QuantisationFactor where
489.10 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
489.10 s
[really-safe-money-gen] mconcat
489.10 s
[really-safe-money-gen] - [ genericValidate qf,
489.10 s
[really-safe-money-gen] + [ genericValidate qf,
489.10 s
[really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
489.10 s
[really-safe-money-gen] ]
489.10 s
[really-safe-money-gen]
489.10 s
[really-safe-money-gen] Tests:
489.10 s
[really-safe-money-gen]
489.10 s
[really-safe-money-gen] Money.MultiAmountSpec
489.10 s
[really-safe-money-gen] fromAmount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 6.68 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] sum
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 88.45 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] add
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 58.17 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] addAmount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 33.86 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] subtractAmount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 13.91 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] GenValid (MultiAmount Currency)
489.10 s
[really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
489.10 s
[really-safe-money-gen] ✓ only generates valid '(MultiAmount Currency)'s 55.65 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] subtract
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 25.31 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] Money.QuantisationFactorSpec
489.10 s
[really-safe-money-gen] fromWord32
489.10 s
[really-safe-money-gen] ✓ produces valid quantisation factors 18.51 ms
489.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
489.10 s
[really-safe-money-gen] DecimalLiteral
489.10 s
[really-safe-money-gen] fromDecimalLiteral
489.10 s
[really-safe-money-gen] ✓ produces valid factors 83.34 ms
489.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
489.10 s
[really-safe-money-gen] GenValid QuantisationFactor
489.10 s
[really-safe-money-gen] genValid :: Gen QuantisationFactor
489.10 s
[really-safe-money-gen] ✓ only generates valid 'QuantisationFactor's 19.12 ms
489.10 s
[really-safe-money-gen] passed for all of 10000 inputs.
489.10 s
[really-safe-money-gen] Money.MultiAccountSpec
489.10 s
[really-safe-money-gen] subtractAmount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 35.57 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] add
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 64.48 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] GenValid (MultiAccount Currency)
489.10 s
[really-safe-money-gen] genValid :: Gen (MultiAccount Currency)
489.10 s
[really-safe-money-gen] ✓ only generates valid '(MultiAccount Currency)'s 55.99 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] sum
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 95.43 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] fromAccount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 6.59 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] addAccount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 36.89 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] subtract
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 66.49 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] addAmount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 36.30 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen] subtractAccount
489.10 s
[really-safe-money-gen] ✓ produces valid amounts 36.24 ms
489.10 s
[really-safe-money-gen] passed for all of 1000 inputs.
489.10 s
[really-safe-money-gen]
489.10 s
[really-safe-money-gen]
489.10 s
[really-safe-money-gen]
489.10 s
[really-safe-money-gen] Examples: 46000
489.10 s
[really-safe-money-gen] Passed: 19
489.10 s
[really-safe-money-gen] Failed: 0
489.10 s
[really-safe-money-gen] Sum of test runtimes: 0.84 secondsTesting mutation ConstBool at src/Money/MultiAmount.hs:168:20-45:
489.10 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
489.10 s
[really-safe-money-gen] maxBoundN :: Natural
489.10 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
489.10 s
[really-safe-money-gen] actualResult =
489.10 s
[really-safe-money-gen] - if roundedResult > maxBoundN
489.10 s
[really-safe-money-gen] + if True
489.10 s
[really-safe-money-gen] then Nothing
489.10 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
489.10 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
489.10 s
[really-safe-money-gen]
489.19 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45:
489.19 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
489.19 s
[really-safe-money-gen] maxBoundN :: Natural
489.19 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
489.19 s
[really-safe-money-gen] actualResult =
489.19 s
[really-safe-money-gen] - if roundedResult > maxBoundN
489.19 s
[really-safe-money-gen] + if False
489.19 s
[really-safe-money-gen] then Nothing
489.19 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
489.19 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
489.19 s
[really-safe-money-gen]
489.29 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:168:20-45:
489.29 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
489.29 s
[really-safe-money-gen] maxBoundN :: Natural
489.29 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
489.29 s
[really-safe-money-gen] actualResult =
489.29 s
[really-safe-money-gen] - if roundedResult > maxBoundN
489.29 s
[really-safe-money-gen] + if not (roundedResult > maxBoundN)
489.29 s
[really-safe-money-gen] then Nothing
489.29 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
489.29 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
489.29 s
[really-safe-money-gen]
489.40 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:168:17-57:
489.40 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
489.40 s
[really-safe-money-gen] maxBoundN :: Natural
489.40 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
489.40 s
[really-safe-money-gen] actualResult =
489.40 s
[really-safe-money-gen] - if roundedResult > maxBoundN
489.40 s
[really-safe-money-gen] + if roundedResult > maxBoundN
489.40 s
[really-safe-money-gen] then Nothing
489.40 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
489.40 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
489.40 s
[really-safe-money-gen]
489.50 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
489.50 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
489.50 s
[really-safe-money-gen] Just a -> do
489.50 s
[really-safe-money-gen] r <- Amount.subtract a amount
489.50 s
[really-safe-money-gen] Just $
489.50 s
[really-safe-money-gen] - if r == Amount.zero
489.50 s
[really-safe-money-gen] + if True
489.50 s
[really-safe-money-gen] then M.delete currency m
489.50 s
[really-safe-money-gen] else M.insert currency r m
489.50 s
[really-safe-money-gen]
489.50 s
[really-safe-money-gen]
489.64 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
489.64 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
489.64 s
[really-safe-money-gen] Just a -> do
489.64 s
[really-safe-money-gen] r <- Amount.subtract a amount
489.64 s
[really-safe-money-gen] Just $
489.64 s
[really-safe-money-gen] - if r == Amount.zero
489.64 s
[really-safe-money-gen] + if False
489.64 s
[really-safe-money-gen] then M.delete currency m
489.64 s
[really-safe-money-gen] else M.insert currency r m
489.64 s
[really-safe-money-gen]
489.64 s
[really-safe-money-gen]
489.76 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:119:12-28:
489.76 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
489.76 s
[really-safe-money-gen] Just a -> do
489.76 s
[really-safe-money-gen] r <- Amount.subtract a amount
489.76 s
[really-safe-money-gen] Just $
489.76 s
[really-safe-money-gen] - if r == Amount.zero
489.76 s
[really-safe-money-gen] + if not (r == Amount.zero)
489.76 s
[really-safe-money-gen] then M.delete currency m
489.76 s
[really-safe-money-gen] else M.insert currency r m
489.76 s
[really-safe-money-gen]
489.76 s
[really-safe-money-gen]
489.89 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:119:9-37:
489.89 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
489.89 s
[really-safe-money-gen] Just a -> do
489.89 s
[really-safe-money-gen] r <- Amount.subtract a amount
489.89 s
[really-safe-money-gen] Just $
489.89 s
[really-safe-money-gen] - if r == Amount.zero
489.89 s
[really-safe-money-gen] + if r == Amount.zero
489.89 s
[really-safe-money-gen] then M.delete currency m
489.89 s
[really-safe-money-gen] else M.insert currency r m
489.89 s
[really-safe-money-gen]
489.89 s
[really-safe-money-gen]
490.02 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28:
490.02 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
490.02 s
[really-safe-money-gen] Just a -> do
490.02 s
[really-safe-money-gen] r <- Amount.add a amount
490.02 s
[really-safe-money-gen] Just $
490.02 s
[really-safe-money-gen] - if r == Amount.zero
490.02 s
[really-safe-money-gen] + if True
490.02 s
[really-safe-money-gen] then M.delete currency m
490.02 s
[really-safe-money-gen] else M.insert currency r m
490.02 s
[really-safe-money-gen]
490.02 s
[really-safe-money-gen]
490.52 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28:
490.52 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
490.52 s
[really-safe-money-gen] Just a -> do
490.52 s
[really-safe-money-gen] r <- Amount.add a amount
490.52 s
[really-safe-money-gen] Just $
490.52 s
[really-safe-money-gen] - if r == Amount.zero
490.52 s
[really-safe-money-gen] + if False
490.52 s
[really-safe-money-gen] then M.delete currency m
490.52 s
[really-safe-money-gen] else M.insert currency r m
490.52 s
[really-safe-money-gen]
490.52 s
[really-safe-money-gen]
491.02 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:106:12-28:
491.02 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
491.02 s
[really-safe-money-gen] Just a -> do
491.02 s
[really-safe-money-gen] r <- Amount.add a amount
491.02 s
[really-safe-money-gen] Just $
491.02 s
[really-safe-money-gen] - if r == Amount.zero
491.02 s
[really-safe-money-gen] + if not (r == Amount.zero)
491.02 s
[really-safe-money-gen] then M.delete currency m
491.02 s
[really-safe-money-gen] else M.insert currency r m
491.02 s
[really-safe-money-gen]
491.02 s
[really-safe-money-gen]
491.53 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:106:9-37:
491.53 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
491.53 s
[really-safe-money-gen] Just a -> do
491.53 s
[really-safe-money-gen] r <- Amount.add a amount
491.53 s
[really-safe-money-gen] Just $
491.53 s
[really-safe-money-gen] - if r == Amount.zero
491.53 s
[really-safe-money-gen] + if r == Amount.zero
491.53 s
[really-safe-money-gen] then M.delete currency m
491.53 s
[really-safe-money-gen] else M.insert currency r m
491.53 s
[really-safe-money-gen]
491.53 s
[really-safe-money-gen]
492.04 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27:
492.04 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
492.04 s
[really-safe-money-gen]
492.04 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
492.04 s
[really-safe-money-gen] fromAmount currency amount =
492.04 s
[really-safe-money-gen] - if amount == Amount.zero
492.04 s
[really-safe-money-gen] + if True
492.04 s
[really-safe-money-gen] then zero
492.04 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
492.04 s
[really-safe-money-gen]
492.04 s
[really-safe-money-gen]
492.15 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27:
492.15 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
492.15 s
[really-safe-money-gen]
492.21 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
492.21 s
[really-safe-money-gen] fromAmount currency amount =
492.21 s
[really-safe-money-gen] - if amount == Amount.zero
492.21 s
[really-safe-money-gen] + if False
492.21 s
[really-safe-money-gen] then zero
492.21 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
492.21 s
[really-safe-money-gen]
492.21 s
[really-safe-money-gen]
492.26 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:73:6-27:
492.26 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
492.26 s
[really-safe-money-gen]
492.27 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
492.27 s
[really-safe-money-gen] fromAmount currency amount =
492.27 s
[really-safe-money-gen] - if amount == Amount.zero
492.27 s
[really-safe-money-gen] + if not (amount == Amount.zero)
492.27 s
[really-safe-money-gen] then zero
492.27 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
492.27 s
[really-safe-money-gen]
492.27 s
[really-safe-money-gen]
492.36 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:73:3-51:
492.36 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
492.36 s
[really-safe-money-gen]
492.36 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
492.36 s
[really-safe-money-gen] fromAmount currency amount =
492.36 s
[really-safe-money-gen] - if amount == Amount.zero
492.36 s
[really-safe-money-gen] + if amount == Amount.zero
492.36 s
[really-safe-money-gen] then zero
492.36 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
492.36 s
[really-safe-money-gen]
492.36 s
[really-safe-money-gen]
492.45 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
492.45 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
492.45 s
[really-safe-money-gen] [ genericValidate ma,
492.45 s
[really-safe-money-gen] decorateMap m $ \_ a ->
492.45 s
[really-safe-money-gen] declare "The amount is not zero" $
492.45 s
[really-safe-money-gen] - a /= Amount.zero
492.45 s
[really-safe-money-gen] + True
492.45 s
[really-safe-money-gen] ]
492.45 s
[really-safe-money-gen]
492.45 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
492.45 s
[really-safe-money-gen]
492.86 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
492.86 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
492.86 s
[really-safe-money-gen] [ genericValidate ma,
492.86 s
[really-safe-money-gen] decorateMap m $ \_ a ->
492.86 s
[really-safe-money-gen] declare "The amount is not zero" $
492.86 s
[really-safe-money-gen] - a /= Amount.zero
492.86 s
[really-safe-money-gen] + False
492.86 s
[really-safe-money-gen] ]
492.86 s
[really-safe-money-gen]
492.86 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
492.86 s
[really-safe-money-gen]
493.25 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:66:13-29:
493.25 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
493.25 s
[really-safe-money-gen] [ genericValidate ma,
493.25 s
[really-safe-money-gen] decorateMap m $ \_ a ->
493.25 s
[really-safe-money-gen] declare "The amount is not zero" $
493.25 s
[really-safe-money-gen] - a /= Amount.zero
493.25 s
[really-safe-money-gen] + not (a /= Amount.zero)
493.25 s
[really-safe-money-gen] ]
493.25 s
[really-safe-money-gen]
493.25 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
493.25 s
[really-safe-money-gen]
493.35 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
493.35 s
[really-safe-money-gen] @@ -60,7 +60,7 @@
493.35 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
493.35 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
493.35 s
[really-safe-money-gen] mconcat
493.35 s
[really-safe-money-gen] - [ genericValidate ma,
493.35 s
[really-safe-money-gen] + [ genericValidate ma,
493.35 s
[really-safe-money-gen] decorateMap m $ \_ a ->
493.35 s
[really-safe-money-gen] declare "The amount is not zero" $
493.35 s
[really-safe-money-gen] a /= Amount.zero
493.35 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Test suite took: 0.84 seconds
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
493.56 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
493.56 s
[really-safe-money-gen] Just a -> do
493.56 s
[really-safe-money-gen] r <- Amount.subtract a amount
493.56 s
[really-safe-money-gen] Just $
493.56 s
[really-safe-money-gen] - if r == Amount.zero
493.56 s
[really-safe-money-gen] + if True
493.56 s
[really-safe-money-gen] then M.delete currency m
493.56 s
[really-safe-money-gen] else M.insert currency r m
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Tests:
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Money.MultiAmountSpec
493.56 s
[really-safe-money-gen] subtractAmount
493.56 s
[really-safe-money-gen] ✓ produces valid amounts 15.93 ms
493.56 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.56 s
[really-safe-money-gen] subtract
493.56 s
[really-safe-money-gen] ✓ produces valid amounts 24.31 ms
493.56 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Examples: 2000
493.56 s
[really-safe-money-gen] Passed: 2
493.56 s
[really-safe-money-gen] Failed: 0
493.56 s
[really-safe-money-gen] Sum of test runtimes: 0.04 seconds
493.56 s
[really-safe-money-gen] Test suite took: 0.04 seconds
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
493.56 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
493.56 s
[really-safe-money-gen] Just a -> do
493.56 s
[really-safe-money-gen] r <- Amount.subtract a amount
493.56 s
[really-safe-money-gen] Just $
493.56 s
[really-safe-money-gen] - if r == Amount.zero
493.56 s
[really-safe-money-gen] + if False
493.56 s
[really-safe-money-gen] then M.delete currency m
493.56 s
[really-safe-money-gen] else M.insert currency r m
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Tests:
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Money.MultiAmountSpec
493.56 s
[really-safe-money-gen] subtractAmount
493.56 s
[really-safe-money-gen] ✓ produces valid amounts 13.66 ms
493.56 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.56 s
[really-safe-money-gen] subtract
493.56 s
[really-safe-money-gen] ✓ produces valid amounts 20.85 ms
493.56 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Examples: 2000
493.56 s
[really-safe-money-gen] Passed: 2
493.56 s
[really-safe-money-gen] Failed: 0
493.56 s
[really-safe-money-gen] Sum of test runtimes: 0.03 seconds
493.56 s
[really-safe-money-gen] Test suite took: 0.04 seconds
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:119:12-28:
493.56 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
493.56 s
[really-safe-money-gen] Just a -> do
493.56 s
[really-safe-money-gen] r <- Amount.subtract a amount
493.56 s
[really-safe-money-gen] Just $
493.56 s
[really-safe-money-gen] - if r == Amount.zero
493.56 s
[really-safe-money-gen] + if not (r == Amount.zero)
493.56 s
[really-safe-money-gen] then M.delete currency m
493.56 s
[really-safe-money-gen] else M.insert currency r m
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Tests:
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Money.MultiAmountSpec
493.56 s
[really-safe-money-gen] subtractAmount
493.56 s
[really-safe-money-gen] ✓ produces valid amounts 13.53 ms
493.56 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.56 s
[really-safe-money-gen] subtract
493.56 s
[really-safe-money-gen] ✓ produces valid amounts 23.47 ms
493.56 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Examples: 2000
493.56 s
[really-safe-money-gen] Passed: 2
493.56 s
[really-safe-money-gen] Failed: 0
493.56 s
[really-safe-money-gen] Sum of test runtimes: 0.04 seconds
493.56 s
[really-safe-money-gen] Test suite took: 0.04 seconds
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:119:9-37:
493.56 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
493.56 s
[really-safe-money-gen] Just a -> do
493.56 s
[really-safe-money-gen] r <- Amount.subtract a amount
493.56 s
[really-safe-money-gen] Just $
493.56 s
[really-safe-money-gen] - if r == Amount.zero
493.56 s
[really-safe-money-gen] + if r == Amount.zero
493.56 s
[really-safe-money-gen] then M.delete currency m
493.56 s
[really-safe-money-gen] else M.insert currency r m
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Tests:
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Money.MultiAmountSpec
493.56 s
[really-safe-money-gen] subtractAmount
493.56 s
[really-safe-money-gen] ✓ produces valid amounts 14.08 ms
493.56 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.56 s
[really-safe-money-gen] subtract
493.56 s
[really-safe-money-gen] ✓ produces valid amounts 21.18 ms
493.56 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen]
493.56 s
[really-safe-money-gen] Examples: 2000
493.56 s
[really-safe-money-gen] Passed: 2
493.57 s
[really-safe-money-gen] Failed: 0
493.57 s
[really-safe-money-gen] Sum of test runtimes: 0.04 seconds
493.57 s
[really-safe-money-gen] Test suite took: 0.04 seconds
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
493.57 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
493.57 s
[really-safe-money-gen] [ genericValidate ma,
493.57 s
[really-safe-money-gen] decorateMap m $ \_ a ->
493.57 s
[really-safe-money-gen] declare "The amount is not zero" $
493.57 s
[really-safe-money-gen] - a /= Amount.zero
493.57 s
[really-safe-money-gen] + True
493.57 s
[really-safe-money-gen] ]
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
493.57 s
[really-safe-money-gen] Tests:
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] Money.MultiAmountSpec
493.57 s
[really-safe-money-gen] fromAmount
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 8.06 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] sum
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 106.73 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] add
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 70.24 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] addAmount
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 44.25 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] subtractAmount
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 14.51 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] GenValid (MultiAmount Currency)
493.57 s
[really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
493.57 s
[really-safe-money-gen] ✓ only generates valid '(MultiAmount Currency)'s 57.30 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] subtract
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 19.88 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] Examples: 7000
493.57 s
[really-safe-money-gen] Passed: 7
493.57 s
[really-safe-money-gen] Failed: 0
493.57 s
[really-safe-money-gen] Sum of test runtimes: 0.32 seconds
493.57 s
[really-safe-money-gen] Test suite took: 0.32 seconds
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
493.57 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
493.57 s
[really-safe-money-gen] [ genericValidate ma,
493.57 s
[really-safe-money-gen] decorateMap m $ \_ a ->
493.57 s
[really-safe-money-gen] declare "The amount is not zero" $
493.57 s
[really-safe-money-gen] - a /= Amount.zero
493.57 s
[really-safe-money-gen] + False
493.57 s
[really-safe-money-gen] ]
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
493.57 s
[really-safe-money-gen] Tests:
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] Money.MultiAmountSpec
493.57 s
[really-safe-money-gen] fromAmount
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 7.69 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] sum
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 90.92 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] add
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 64.21 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] addAmount
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 38.69 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] subtractAmount
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 12.77 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] GenValid (MultiAmount Currency)
493.57 s
[really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
493.57 s
[really-safe-money-gen] ✓ only generates valid '(MultiAmount Currency)'s 58.99 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] subtract
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 22.38 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] Examples: 7000
493.57 s
[really-safe-money-gen] Passed: 7
493.57 s
[really-safe-money-gen] Failed: 0
493.57 s
[really-safe-money-gen] Sum of test runtimes: 0.30 seconds
493.57 s
[really-safe-money-gen] Test suite took: 0.30 seconds
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
493.57 s
[really-safe-money-gen] @@ -60,7 +60,7 @@
493.57 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
493.57 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
493.57 s
[really-safe-money-gen] mconcat
493.57 s
[really-safe-money-gen] - [ genericValidate ma,
493.57 s
[really-safe-money-gen] + [ genericValidate ma,
493.57 s
[really-safe-money-gen] decorateMap m $ \_ a ->
493.57 s
[really-safe-money-gen] declare "The amount is not zero" $
493.57 s
[really-safe-money-gen] a /= Amount.zero
493.57 s
[really-safe-money-gen] Tests:
493.57 s
[really-safe-money-gen]
493.57 s
[really-safe-money-gen] Money.MultiAmountSpec
493.57 s
[really-safe-money-gen] fromAmount
493.57 s
[really-safe-money-gen] ✓ produces valid amounts 1.91 ms
493.57 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.57 s
[really-safe-money-gen] zero
493.57 s
[really-safe-money-gen] ✓ is valid Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
493.57 s
[really-safe-money-gen] @@ -60,7 +60,7 @@
493.57 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
493.57 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
493.57 s
[really-safe-money-gen] mconcat
493.57 s
[really-safe-money-gen] - [ genericValidate ma,
493.57 s
[really-safe-money-gen] + [ genericValidate ma,
493.57 s
[really-safe-money-gen] decorateMap m $ \_ a ->
493.57 s
[really-safe-money-gen] declare "The amount is not zero" $
493.57 s
[really-safe-money-gen] a /= Amount.zero
493.57 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen] 0.00 ms
493.80 s
[really-safe-money-gen] sum
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 48.70 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] add
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 24.85 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] addAmount
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 12.31 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] subtractAmount
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 12.07 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] GenValid (MultiAmount Currency)
493.80 s
[really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
493.80 s
[really-safe-money-gen] ✓ only generates valid '(MultiAmount Currency)'s 1.42 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] subtract
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 21.18 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen] Examples: 7001
493.80 s
[really-safe-money-gen] Passed: 8
493.80 s
[really-safe-money-gen] Failed: 0
493.80 s
[really-safe-money-gen] Sum of test runtimes: 0.12 seconds
493.80 s
[really-safe-money-gen] Test suite took: 0.13 seconds
493.80 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
493.80 s
[really-safe-money-gen] @@ -60,7 +60,7 @@
493.80 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
493.80 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
493.80 s
[really-safe-money-gen] mconcat
493.80 s
[really-safe-money-gen] - [ genericValidate ma,
493.80 s
[really-safe-money-gen] + [ genericValidate ma,
493.80 s
[really-safe-money-gen] decorateMap m $ \_ a ->
493.80 s
[really-safe-money-gen] declare "The amount is not zero" $
493.80 s
[really-safe-money-gen] a /= Amount.zero
493.80 s
[really-safe-money-gen] Tests:
493.80 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen] Money.MultiAmountSpec
493.80 s
[really-safe-money-gen] fromAmount
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 2.09 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] zero
493.80 s
[really-safe-money-gen] ✓ is valid 0.02 ms
493.80 s
[really-safe-money-gen] sum
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 51.08 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] add
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 25.82 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] addAmount
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 14.26 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] subtractAmount
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 13.08 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] GenValid (MultiAmount Currency)
493.80 s
[really-safe-money-gen] genValid :: Gen (MultiAmount Currency)
493.80 s
[really-safe-money-gen] ✓ only generates valid '(MultiAmount Currency)'s 1.55 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen] subtract
493.80 s
[really-safe-money-gen] ✓ produces valid amounts 19.85 ms
493.80 s
[really-safe-money-gen] passed for all of 1000 inputs.
493.80 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen] Examples: 7001
493.80 s
[really-safe-money-gen] Passed: 8
493.80 s
[really-safe-money-gen] Failed: 0
493.80 s
[really-safe-money-gen] Sum of test runtimes: 0.13 seconds
493.80 s
[really-safe-money-gen] Test suite took: 0.13 seconds
493.80 s
[really-safe-money-gen]
493.80 s
[really-safe-money-gen] Killed: 233
493.80 s
[really-safe-money-gen] Survived: 79
493.80 s
[really-safe-money-gen] Uncovered: 3
493.81 s
[really-safe-money-gen] checkPhase completed in 7 minutes 57 seconds
493.81 s
[really-safe-money-gen] Phase: haddockPhase
493.94 s
[really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
493.95 s
[really-safe-money-gen] Running Haddock on library for really-safe-money-gen-0.0.0.0...
493.95 s
[really-safe-money-gen] Warning: The documentation for the following packages are not installed. No
493.95 s
[really-safe-money-gen] links will be generated to these packages: really-safe-money-0.0.0.0
494.13 s
[really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, nothing )
494.26 s
[really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, nothing )
494.26 s
[really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, nothing )
494.26 s
[really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, nothing )
494.27 s
[really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, nothing )
494.27 s
[really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, nothing )
494.28 s
[really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, nothing )
494.28 s
[really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, nothing )
494.28 s
[really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, nothing )
494.29 s
[really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, nothing )
494.30 s
[really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, nothing )
494.30 s
[really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, nothing )
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 )
494.32 s
[really-safe-money-gen] Haddock coverage:
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Amount.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Account.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AccountOf.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AmountOf.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRate.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRateOf.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.QuantisationFactor.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Currency.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAmount.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAccount.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] Warning: Money.Gen: Could not find documentation for exported module: Money.Gen
494.32 s
[really-safe-money-gen] 90% ( 10 / 11) in 'Money.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] 0% ( 0 / 2) in 'Numeric.DecimalLiteral.Gen'
494.32 s
[really-safe-money-gen] Missing documentation for:
494.32 s
[really-safe-money-gen] Module header
494.32 s
[really-safe-money-gen] shrinkSign (src/Numeric/DecimalLiteral/Gen.hs:16)
494.48 s
[really-safe-money-gen] Warning: Money.Amount.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.Amount.Amount
494.48 s
[really-safe-money-gen] - Money.Amount.Distribution
494.48 s
[really-safe-money-gen] - Money.Amount.Rounding
494.48 s
[really-safe-money-gen] Warning: Money.Account.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.Account.Account
494.48 s
[really-safe-money-gen] Warning: Money.AccountOf.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.AccountOf.AccountOf
494.48 s
[really-safe-money-gen] Warning: Money.AmountOf.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.AmountOf.AmountOf
494.48 s
[really-safe-money-gen] Warning: Money.ConversionRate.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.ConversionRate.ConversionRate
494.48 s
[really-safe-money-gen] Warning: Money.ConversionRateOf.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.ConversionRateOf.ConversionRateOf
494.48 s
[really-safe-money-gen] Warning: Money.QuantisationFactor.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.QuantisationFactor.QuantisationFactor
494.48 s
[really-safe-money-gen] Warning: Money.Currency.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.Currency.Currency
494.48 s
[really-safe-money-gen] Warning: Money.MultiAmount.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.MultiAmount.MultiAmount
494.48 s
[really-safe-money-gen] Warning: Money.MultiAccount.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Money.MultiAccount.MultiAccount
494.48 s
[really-safe-money-gen] Warning: Numeric.DecimalLiteral.Gen: could not find link destinations for:
494.48 s
[really-safe-money-gen] - Numeric.DecimalLiteral.DecimalLiteral
498.65 s
[really-safe-money-gen] Documentation created: dist/doc/html/really-safe-money-gen/,
498.65 s
[really-safe-money-gen] dist/doc/html/really-safe-money-gen/really-safe-money-gen.txt
498.73 s
[really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
498.73 s
[really-safe-money-gen] Phase: installPhase
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
499.15 s
[really-safe-money-gen] Phase: fixupPhase
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
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
499.19 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0...
499.22 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0
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
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
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...
499.31 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc
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
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...
499.35 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/abzs9d51wjw5m3mjrrgh8bbffm679daj-really-safe-money-gen-0.0.0.0-report
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
500.06 s
[post-build-hook] Pushing 8 paths (181 are already present) using zstd to cache sydtest ⏳
500.06 s
[post-build-hook]
500.42 s
[post-build-hook] Pushing /nix/store/0lyb7q37r7c71xf1yhvmb6dh8m7dn2zj-really-safe-money-gen-0.0.0.0 (1.27 MiB)
500.53 s
[post-build-hook] Pushing /nix/store/b84444n2il2fkz6n6wbincfddc0hgg1k-genvalidity-containers-1.0.0.2 (868.72 KiB)
500.53 s
[post-build-hook] Pushing /nix/store/8277qhdm7ld6sxwga3d8a7pzsz6lxy72-genvalidity-1.1.1.0 (3.07 MiB)
500.54 s
[post-build-hook] Pushing /nix/store/i69b5p948bjsqq5ihw81212gg42nxlpv-really-safe-money-gen-0.0.0.0-doc (288.17 KiB)
500.54 s
[post-build-hook] Pushing /nix/store/r40wa6qpnxgljdybl25rlh3x84azspl4-genvalidity-1.1.1.0-doc (890.45 KiB)
500.54 s
[post-build-hook] Pushing /nix/store/abzs9d51wjw5m3mjrrgh8bbffm679daj-really-safe-money-gen-0.0.0.0-report (762.70 KiB)
500.55 s
[post-build-hook] Pushing /nix/store/xsvws95rpgksxq95mxhmz5w6gb0gwvyp-really-safe-money-0.0.0.0 (104.51 MiB)
500.56 s
[post-build-hook] Pushing /nix/store/r5wk7b4f69qw0i0jqv37zakfsghxdkha-genvalidity-containers-1.0.0.2-doc (305.05 KiB)
503.06 s
[post-build-hook]
503.06 s
[post-build-hook] All done.
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
503.12 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
503.45 s
[post-build-hook] copying 3 paths...
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'...
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'...
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'...
504.00 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
504.21 s
[post-build-hook] copying 1 paths...
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'...
504.40 s
Progress: 1 of 2 built, 7 of 7 downloaded from cache