@valkyriestudios/utils 4.2.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +1 -0
- package/.eslintrc.json +152 -0
- package/.nyc_output/79bac8a3-26d6-499d-a9d9-6f61d6c11628.json +1 -0
- package/.nyc_output/8a42299e-25b8-4720-a08c-cb83c830059c.json +1 -0
- package/.nyc_output/processinfo/79bac8a3-26d6-499d-a9d9-6f61d6c11628.json +1 -0
- package/.nyc_output/processinfo/8a42299e-25b8-4720-a08c-cb83c830059c.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/.nycrc +4 -0
- package/.travis.yml +2 -3
- package/CHANGELOG.md +43 -0
- package/README.md +20 -4
- package/array/dedupe.js +14 -14
- package/array/is.js +5 -4
- package/array/isNotEmpty.js +8 -9
- package/boolean/is.js +5 -4
- package/caching/memoize.js +14 -19
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/base.css +224 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/block-navigation.js +87 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/favicon.png +0 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/index.html +296 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/prettify.css +1 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/prettify.js +2 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/sorter.js +196 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +118 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/index.html +146 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/array/isNotEmpty.js.html +109 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/boolean/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/boolean/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/caching/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +130 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/date/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/date/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/define.js.html +106 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/get.js.html +187 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/index.html +176 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/seal.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/deep/set.js.html +220 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/equal.js.html +274 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/formdata/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/formdata/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/index.html +176 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/is.js.html +103 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noop.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +103 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +103 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/function/sleep.js.html +124 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +232 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/guid.js.html +175 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/hash/index.html +131 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/index.html +131 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/is.js.html +202 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/index.html +221 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/is.js.html +112 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isAbove.js.html +115 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isBelow.js.html +115 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isBetween.js.html +121 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +136 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/round.js.html +139 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/define.js.html +118 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +106 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +106 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/forValues.js.html +133 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/index.html +236 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/isNotEmpty.js.html +109 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/merge.js.html +157 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/pick.js.html +151 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/object/zip.js.html +139 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/regexp/index.html +116 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/regexp/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/index.html +146 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/is.js.html +100 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/isBetween.js.html +133 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov-report/src/string/isNotEmpty.js.html +109 -0
- package/coverage/Chrome Headless 100.0.4896.127 (Linux x86_64)/lcov.info +974 -0
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/dedupe.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/array/isNotEmpty.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/boolean/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/boolean/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/caching/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/caching/memoize.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/date/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/date/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/define.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/freeze.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/get.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/seal.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/deep/set.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/equal.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/formdata/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/formdata/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noop.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noopresolve.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/noopreturn.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/function/sleep.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/fnv1A.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/guid.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/hash/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/is.js.html +3 -3
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/isBetween.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/isNumericalNaN.js.html +2 -2
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/randomBetween.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/round.js.html +5 -5
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/number/toPercentage.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/define.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/defineFrozen.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/defineSealed.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/forValues.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/isNotEmpty.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/merge.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/pick.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/object/zip.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/regexp/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/regexp/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/index.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/is.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/isBetween.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov-report/src/string/isNotEmpty.js.html +1 -1
- package/coverage/Chrome Headless 93.0.4577.82 (Linux x86_64)/lcov.info +20 -20
- package/coverage/lcov-report/base.css +5 -4
- package/coverage/lcov-report/block-navigation.js +71 -48
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +247 -50
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +51 -14
- package/coverage/lcov-report/src/array/dedupe.js.html +145 -0
- package/coverage/lcov-report/src/array/index.html +146 -0
- package/coverage/lcov-report/src/array/is.js.html +100 -0
- package/coverage/lcov-report/src/array/isNotEmpty.js.html +109 -0
- package/coverage/lcov-report/src/boolean/index.html +116 -0
- package/coverage/lcov-report/src/boolean/is.js.html +100 -0
- package/coverage/lcov-report/src/caching/index.html +116 -0
- package/coverage/lcov-report/src/caching/memoize.js.html +139 -0
- package/coverage/lcov-report/src/date/index.html +116 -0
- package/coverage/lcov-report/src/date/is.js.html +100 -0
- package/coverage/lcov-report/src/deep/define.js.html +106 -0
- package/coverage/lcov-report/src/deep/freeze.js.html +151 -0
- package/coverage/lcov-report/src/deep/get.js.html +190 -0
- package/coverage/lcov-report/src/deep/index.html +176 -0
- package/coverage/lcov-report/src/deep/seal.js.html +151 -0
- package/coverage/lcov-report/src/deep/set.js.html +229 -0
- package/coverage/lcov-report/src/equal.js.html +280 -0
- package/coverage/lcov-report/src/function/index.html +176 -0
- package/coverage/lcov-report/src/function/is.js.html +103 -0
- package/coverage/lcov-report/src/function/noop.js.html +100 -0
- package/coverage/lcov-report/src/function/noopresolve.js.html +103 -0
- package/coverage/lcov-report/src/function/noopreturn.js.html +103 -0
- package/coverage/lcov-report/src/function/sleep.js.html +121 -0
- package/coverage/lcov-report/src/hash/fnv1A.js.html +238 -0
- package/coverage/lcov-report/src/hash/guid.js.html +184 -0
- package/coverage/lcov-report/src/hash/index.html +131 -0
- package/coverage/lcov-report/src/index.html +131 -0
- package/coverage/lcov-report/src/is.js.html +196 -0
- package/coverage/lcov-report/src/number/index.html +221 -0
- package/coverage/lcov-report/src/number/is.js.html +109 -0
- package/coverage/lcov-report/src/number/isAbove.js.html +115 -0
- package/coverage/lcov-report/src/number/isBelow.js.html +115 -0
- package/coverage/lcov-report/src/number/isBetween.js.html +121 -0
- package/coverage/lcov-report/src/number/isNumericalNaN.js.html +100 -0
- package/coverage/lcov-report/src/number/randomBetween.js.html +136 -0
- package/coverage/lcov-report/src/number/round.js.html +139 -0
- package/coverage/lcov-report/src/number/toPercentage.js.html +151 -0
- package/coverage/lcov-report/src/object/define.js.html +118 -0
- package/coverage/lcov-report/src/object/defineFrozen.js.html +106 -0
- package/coverage/lcov-report/src/object/defineSealed.js.html +106 -0
- package/coverage/lcov-report/src/object/forValues.js.html +133 -0
- package/coverage/lcov-report/src/object/index.html +236 -0
- package/coverage/lcov-report/src/object/is.js.html +100 -0
- package/coverage/lcov-report/src/object/isNotEmpty.js.html +109 -0
- package/coverage/lcov-report/src/object/merge.js.html +157 -0
- package/coverage/lcov-report/src/object/pick.js.html +151 -0
- package/coverage/lcov-report/src/object/zip.js.html +145 -0
- package/coverage/lcov-report/src/regexp/index.html +116 -0
- package/coverage/lcov-report/src/regexp/is.js.html +100 -0
- package/coverage/lcov-report/src/string/index.html +146 -0
- package/coverage/lcov-report/src/string/is.js.html +100 -0
- package/coverage/lcov-report/src/string/isBetween.js.html +133 -0
- package/coverage/lcov-report/src/string/isNotEmpty.js.html +109 -0
- package/coverage/lcov.info +1132 -0
- package/date/is.js +5 -4
- package/deep/define.js +8 -10
- package/deep/freeze.js +19 -25
- package/deep/get.js +29 -32
- package/deep/seal.js +19 -25
- package/deep/set.js +41 -42
- package/equal.js +44 -59
- package/function/is.js +5 -6
- package/function/noop.js +2 -3
- package/function/noopresolve.js +7 -8
- package/function/noopreturn.js +5 -6
- package/function/sleep.js +11 -17
- package/hash/fnv1A.js +38 -60
- package/hash/guid.js +22 -30
- package/is.js +110 -59
- package/number/is.js +8 -9
- package/number/isAbove.js +15 -0
- package/number/isBelow.js +15 -0
- package/number/isBetween.js +9 -12
- package/number/isNumericalNaN.js +5 -4
- package/number/randomBetween.js +16 -19
- package/number/round.js +16 -19
- package/number/toPercentage.js +21 -26
- package/object/define.js +12 -13
- package/object/defineFrozen.js +9 -11
- package/object/defineSealed.js +9 -11
- package/object/forValues.js +17 -22
- package/object/is.js +5 -4
- package/object/isNotEmpty.js +8 -9
- package/object/merge.js +21 -22
- package/object/pick.js +22 -29
- package/object/zip.js +19 -20
- package/package.json +15 -17
- package/regexp/is.js +5 -4
- package/string/is.js +5 -4
- package/string/isBetween.js +13 -20
- package/string/isNotEmpty.js +9 -11
- package/test/constants.js +0 -6
- package/test/src/array.test.js +38 -40
- package/test/src/boolean.test.js +18 -15
- package/test/src/caching.test.js +10 -1
- package/test/src/date.test.js +18 -15
- package/test/src/deep.test.js +155 -66
- package/test/src/equal.test.js +66 -57
- package/test/src/function.test.js +47 -45
- package/test/src/hash.test.js +39 -30
- package/test/src/is.test.js +68 -71
- package/test/src/number.test.js +351 -67
- package/test/src/object.test.js +129 -131
- package/test/src/regexp.test.js +18 -15
- package/test/src/string.test.js +59 -59
- package/formdata/is.js +0 -9
- package/karma.conf.js +0 -64
- package/test/src/formdata.test.js +0 -67
- package/test/test_index.js +0 -2
package/test/src/number.test.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
import isNumber from '../../src/number/is';
|
|
4
|
+
import isNumberAbove from '../../src/number/isAbove';
|
|
5
|
+
import isNumberBelow from '../../src/number/isBelow';
|
|
4
6
|
import isNumberBetween from '../../src/number/isBetween';
|
|
5
7
|
import isNumericalNaN from '../../src/number/isNumericalNaN';
|
|
6
8
|
import toPercentage from '../../src/number/toPercentage';
|
|
@@ -15,70 +17,277 @@ import {
|
|
|
15
17
|
fnDateValues,
|
|
16
18
|
fnArrayValues,
|
|
17
19
|
fnFunctionValues,
|
|
18
|
-
fnFormDataValues,
|
|
19
20
|
fnNullables,
|
|
20
21
|
} from '../constants';
|
|
21
22
|
|
|
23
|
+
const chai = require('chai');
|
|
24
|
+
const spies = require('chai-spies');
|
|
25
|
+
chai.use(spies);
|
|
26
|
+
|
|
27
|
+
const expect = chai.expect;
|
|
28
|
+
const assert = chai.assert;
|
|
29
|
+
const should = chai.should();
|
|
30
|
+
const spy = chai.spy;
|
|
31
|
+
|
|
22
32
|
describe("Number - isNumber", () => {
|
|
23
33
|
it ('not see a string as a number', () => {
|
|
24
34
|
let vals = fnStringValues();
|
|
25
|
-
for (let el of vals) expect(isNumber(el)).
|
|
35
|
+
for (let el of vals) expect(isNumber(el)).to.eql(false);
|
|
26
36
|
});
|
|
27
37
|
|
|
28
38
|
it ('see a numeric value as a number', () => {
|
|
29
39
|
let vals = fnNumericValues();
|
|
30
|
-
for (let el of vals) expect(isNumber(el)).
|
|
40
|
+
for (let el of vals) expect(isNumber(el)).to.eql(true);
|
|
31
41
|
});
|
|
32
42
|
|
|
33
43
|
it ('not see a numerical nan as a number', () => {
|
|
34
|
-
expect(isNumber(1/0)).
|
|
44
|
+
expect(isNumber(1/0)).to.eql(false);
|
|
35
45
|
});
|
|
36
46
|
|
|
37
47
|
it ('not see a boolean as a number', () => {
|
|
38
48
|
let vals = fnBooleanValues();
|
|
39
|
-
for (let el of vals) expect(isNumber(el)).
|
|
49
|
+
for (let el of vals) expect(isNumber(el)).to.eql(false);
|
|
40
50
|
});
|
|
41
51
|
|
|
42
52
|
it ('not see a regex as a number', () => {
|
|
43
53
|
let vals = fnRegexValues();
|
|
44
|
-
for (let el of vals) expect(isNumber(el)).
|
|
54
|
+
for (let el of vals) expect(isNumber(el)).to.eql(false);
|
|
45
55
|
});
|
|
46
56
|
|
|
47
57
|
it ('not see an object as a number', () => {
|
|
48
58
|
let vals = fnObjectValues();
|
|
49
|
-
for (let el of vals) expect(isNumber(el)).
|
|
59
|
+
for (let el of vals) expect(isNumber(el)).to.eql(false);
|
|
50
60
|
});
|
|
51
61
|
|
|
52
62
|
it ('not see a nullable as a number', () => {
|
|
53
63
|
let vals = fnNullables();
|
|
54
|
-
for (let el of vals) expect(isNumber(el)).
|
|
64
|
+
for (let el of vals) expect(isNumber(el)).to.eql(false);
|
|
55
65
|
});
|
|
56
66
|
|
|
57
67
|
it ('not see a date as a number', () => {
|
|
58
68
|
let vals = fnDateValues();
|
|
59
|
-
for (let el of vals) expect(isNumber(el)).
|
|
69
|
+
for (let el of vals) expect(isNumber(el)).to.eql(false);
|
|
60
70
|
});
|
|
61
71
|
|
|
62
72
|
it ('not see an array as a number', () => {
|
|
63
73
|
let vals = fnArrayValues();
|
|
64
|
-
for (let el of vals) expect(isNumber(el)).
|
|
74
|
+
for (let el of vals) expect(isNumber(el)).to.eql(false);
|
|
65
75
|
});
|
|
66
76
|
|
|
67
77
|
it ('not see a function as a number', () => {
|
|
68
78
|
let vals = fnFunctionValues();
|
|
69
|
-
for (let el of vals) expect(isNumber(el)).
|
|
79
|
+
for (let el of vals) expect(isNumber(el)).to.eql(false);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
describe("Number - isNumberBelow", () => {
|
|
84
|
+
it ('not see a string as a number', () => {
|
|
85
|
+
let vals = fnStringValues();
|
|
86
|
+
for (let el of vals) expect(isNumberBelow(el, 0)).to.eql(false);
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it ('treat numeric values below max correctly', () => {
|
|
90
|
+
let vals = [
|
|
91
|
+
[0, 1],
|
|
92
|
+
[-32, -10],
|
|
93
|
+
[3, 9],
|
|
94
|
+
[.1, .2],
|
|
95
|
+
];
|
|
96
|
+
for (let el of vals) expect(isNumberBelow(el[0], el[1])).to.eql(true);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it ('treat numeric values above max as false', () => {
|
|
100
|
+
let vals = [
|
|
101
|
+
[1, 0],
|
|
102
|
+
[-99, -100],
|
|
103
|
+
[9, 1],
|
|
104
|
+
[-.05, -.1],
|
|
105
|
+
];
|
|
106
|
+
for (let el of vals) expect(isNumberBelow(el[0], el[1])).to.eql(false);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it ('treat numeric values at max as false', () => {
|
|
110
|
+
let vals = [0, -100, 1, 0, .56, .89];
|
|
111
|
+
for (let el of vals) expect(isNumberBelow(el, el)).to.eql(false);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
it ('not see a boolean as a number between', () => {
|
|
115
|
+
let vals = fnBooleanValues();
|
|
116
|
+
for (let el of vals) expect(isNumberBelow(el, 0)).to.eql(false);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
it ('not see a regex as a number between', () => {
|
|
120
|
+
let vals = fnRegexValues();
|
|
121
|
+
for (let el of vals) expect(isNumberBelow(el, 0)).to.eql(false);
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it ('not see an object as a number between', () => {
|
|
125
|
+
let vals = fnObjectValues();
|
|
126
|
+
for (let el of vals) expect(isNumberBelow(el, 0)).to.eql(false);
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
it ('not see a nullable as a number between', () => {
|
|
130
|
+
let vals = fnNullables();
|
|
131
|
+
for (let el of vals) expect(isNumberBelow(el, 0)).to.eql(false);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
it ('not see a date as a number between', () => {
|
|
135
|
+
let vals = fnDateValues();
|
|
136
|
+
for (let el of vals) expect(isNumberBelow(el, 0)).to.eql(false);
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it ('not see an array as a number between', () => {
|
|
140
|
+
let vals = fnArrayValues();
|
|
141
|
+
for (let el of vals) expect(isNumberBelow(el, 0)).to.eql(false);
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
it ('not see a function as a number between', () => {
|
|
145
|
+
let vals = fnFunctionValues();
|
|
146
|
+
for (let el of vals) expect(isNumberBelow(el, 0)).to.eql(false);
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
it ('not see a boolean as a number between', () => {
|
|
150
|
+
let vals = fnBooleanValues();
|
|
151
|
+
for (let el of vals) expect(isNumberBelow(0, el)).to.eql(false);
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it ('not see a regex as a number between', () => {
|
|
155
|
+
let vals = fnRegexValues();
|
|
156
|
+
for (let el of vals) expect(isNumberBelow(0, el)).to.eql(false);
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
it ('not see an object as a number between', () => {
|
|
160
|
+
let vals = fnObjectValues();
|
|
161
|
+
for (let el of vals) expect(isNumberBelow(0, el)).to.eql(false);
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
it ('not see a nullable as a number between', () => {
|
|
165
|
+
let vals = fnNullables();
|
|
166
|
+
for (let el of vals) expect(isNumberBelow(0, el)).to.eql(false);
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
it ('not see a date as a number between', () => {
|
|
170
|
+
let vals = fnDateValues();
|
|
171
|
+
for (let el of vals) expect(isNumberBelow(0, el)).to.eql(false);
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
it ('not see an array as a number between', () => {
|
|
175
|
+
let vals = fnArrayValues();
|
|
176
|
+
for (let el of vals) expect(isNumberBelow(0, el)).to.eql(false);
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
it ('not see a function as a number between', () => {
|
|
180
|
+
let vals = fnFunctionValues();
|
|
181
|
+
for (let el of vals) expect(isNumberBelow(0, el)).to.eql(false);
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
describe("Number - isNumberAbove", () => {
|
|
186
|
+
it ('not see a string as a number', () => {
|
|
187
|
+
let vals = fnStringValues();
|
|
188
|
+
for (let el of vals) expect(isNumberAbove(el, 0)).to.eql(false);
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
it ('treat numeric values above min correctly', () => {
|
|
192
|
+
let vals = [
|
|
193
|
+
[1, 0],
|
|
194
|
+
[-10, -32],
|
|
195
|
+
[9, 3],
|
|
196
|
+
[.2, .1],
|
|
197
|
+
];
|
|
198
|
+
for (let el of vals) expect(isNumberAbove(el[0], el[1])).to.eql(true);
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
it ('treat numeric values below min as false', () => {
|
|
202
|
+
let vals = [
|
|
203
|
+
[0, 1],
|
|
204
|
+
[-100, -99],
|
|
205
|
+
[1, 9],
|
|
206
|
+
[-.1, -.05],
|
|
207
|
+
];
|
|
208
|
+
for (let el of vals) expect(isNumberAbove(el[0], el[1])).to.eql(false);
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
it ('treat numeric values at min as false', () => {
|
|
212
|
+
let vals = [0, -100, 1, 0, .56, .89];
|
|
213
|
+
for (let el of vals) expect(isNumberAbove(el, el)).to.eql(false);
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
it ('not see a boolean as a number between', () => {
|
|
217
|
+
let vals = fnBooleanValues();
|
|
218
|
+
for (let el of vals) expect(isNumberAbove(el, 0)).to.eql(false);
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
it ('not see a regex as a number between', () => {
|
|
222
|
+
let vals = fnRegexValues();
|
|
223
|
+
for (let el of vals) expect(isNumberAbove(el, 0)).to.eql(false);
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
it ('not see an object as a number between', () => {
|
|
227
|
+
let vals = fnObjectValues();
|
|
228
|
+
for (let el of vals) expect(isNumberAbove(el, 0)).to.eql(false);
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
it ('not see a nullable as a number between', () => {
|
|
232
|
+
let vals = fnNullables();
|
|
233
|
+
for (let el of vals) expect(isNumberAbove(el, 0)).to.eql(false);
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
it ('not see a date as a number between', () => {
|
|
237
|
+
let vals = fnDateValues();
|
|
238
|
+
for (let el of vals) expect(isNumberAbove(el, 0)).to.eql(false);
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
it ('not see an array as a number between', () => {
|
|
242
|
+
let vals = fnArrayValues();
|
|
243
|
+
for (let el of vals) expect(isNumberAbove(el, 0)).to.eql(false);
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
it ('not see a function as a number between', () => {
|
|
247
|
+
let vals = fnFunctionValues();
|
|
248
|
+
for (let el of vals) expect(isNumberAbove(el, 0)).to.eql(false);
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
it ('not see a boolean as a number between', () => {
|
|
252
|
+
let vals = fnBooleanValues();
|
|
253
|
+
for (let el of vals) expect(isNumberAbove(0, el)).to.eql(false);
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
it ('not see a regex as a number between', () => {
|
|
257
|
+
let vals = fnRegexValues();
|
|
258
|
+
for (let el of vals) expect(isNumberAbove(0, el)).to.eql(false);
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
it ('not see an object as a number between', () => {
|
|
262
|
+
let vals = fnObjectValues();
|
|
263
|
+
for (let el of vals) expect(isNumberAbove(0, el)).to.eql(false);
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
it ('not see a nullable as a number between', () => {
|
|
267
|
+
let vals = fnNullables();
|
|
268
|
+
for (let el of vals) expect(isNumberAbove(0, el)).to.eql(false);
|
|
70
269
|
});
|
|
71
270
|
|
|
72
|
-
it ('not see
|
|
73
|
-
let vals =
|
|
74
|
-
for (let el of vals) expect(
|
|
271
|
+
it ('not see a date as a number between', () => {
|
|
272
|
+
let vals = fnDateValues();
|
|
273
|
+
for (let el of vals) expect(isNumberAbove(0, el)).to.eql(false);
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
it ('not see an array as a number between', () => {
|
|
277
|
+
let vals = fnArrayValues();
|
|
278
|
+
for (let el of vals) expect(isNumberAbove(0, el)).to.eql(false);
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
it ('not see a function as a number between', () => {
|
|
282
|
+
let vals = fnFunctionValues();
|
|
283
|
+
for (let el of vals) expect(isNumberAbove(0, el)).to.eql(false);
|
|
75
284
|
});
|
|
76
285
|
});
|
|
77
286
|
|
|
78
287
|
describe("Number - isNumberBetween", () => {
|
|
79
288
|
it ('not see a string as a number between', () => {
|
|
80
289
|
let vals = fnStringValues();
|
|
81
|
-
for (let el of vals) expect(isNumberBetween(el, 0, 1000)).
|
|
290
|
+
for (let el of vals) expect(isNumberBetween(el, 0, 1000)).to.eql(false);
|
|
82
291
|
});
|
|
83
292
|
|
|
84
293
|
it ('treat numeric values between ranges correctly', () => {
|
|
@@ -88,7 +297,7 @@ describe("Number - isNumberBetween", () => {
|
|
|
88
297
|
[3, 1, 9],
|
|
89
298
|
[.1, 0, .2],
|
|
90
299
|
];
|
|
91
|
-
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).
|
|
300
|
+
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).to.eql(true);
|
|
92
301
|
});
|
|
93
302
|
|
|
94
303
|
it ('treat numeric values between ranges with invalid values incorrectly', () => {
|
|
@@ -98,8 +307,8 @@ describe("Number - isNumberBetween", () => {
|
|
|
98
307
|
[3, 1, 9],
|
|
99
308
|
[.1, 0, .2],
|
|
100
309
|
];
|
|
101
|
-
for (let el of vals) expect(isNumberBetween(el[0], `${el[1]}`, el[2])).
|
|
102
|
-
for (let el of vals) expect(isNumberBetween(el[0], el[1], `${el[2]}`)).
|
|
310
|
+
for (let el of vals) expect(isNumberBetween(el[0], `${el[1]}`, el[2])).to.eql(false);
|
|
311
|
+
for (let el of vals) expect(isNumberBetween(el[0], el[1], `${el[2]}`)).to.eql(false);
|
|
103
312
|
});
|
|
104
313
|
|
|
105
314
|
it ('treat numeric values below lower bound as false', () => {
|
|
@@ -109,7 +318,7 @@ describe("Number - isNumberBetween", () => {
|
|
|
109
318
|
[0, 1, 9],
|
|
110
319
|
[-.1, 0, .2],
|
|
111
320
|
];
|
|
112
|
-
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).
|
|
321
|
+
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).to.eql(false);
|
|
113
322
|
});
|
|
114
323
|
|
|
115
324
|
it ('treat numeric values at lower bound as true', () => {
|
|
@@ -119,7 +328,7 @@ describe("Number - isNumberBetween", () => {
|
|
|
119
328
|
[1, 1, 9],
|
|
120
329
|
[0, 0, .2],
|
|
121
330
|
];
|
|
122
|
-
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).
|
|
331
|
+
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).to.eql(true);
|
|
123
332
|
});
|
|
124
333
|
|
|
125
334
|
it ('treat numeric values above upper bound as false', () => {
|
|
@@ -129,7 +338,7 @@ describe("Number - isNumberBetween", () => {
|
|
|
129
338
|
[10, 1, 9],
|
|
130
339
|
[.3, 0, .2],
|
|
131
340
|
];
|
|
132
|
-
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).
|
|
341
|
+
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).to.eql(false);
|
|
133
342
|
});
|
|
134
343
|
|
|
135
344
|
it ('treat numeric values at upper bound as true', () => {
|
|
@@ -139,144 +348,219 @@ describe("Number - isNumberBetween", () => {
|
|
|
139
348
|
[9, 1, 9],
|
|
140
349
|
[.2, 0, .2],
|
|
141
350
|
];
|
|
142
|
-
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).
|
|
351
|
+
for (let el of vals) expect(isNumberBetween(el[0], el[1], el[2])).to.eql(true);
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
it ('returns false when passed a min that is higher than max', () => {
|
|
355
|
+
expect(isNumberBetween(9, 15, 10)).to.eql(false);
|
|
356
|
+
});
|
|
357
|
+
|
|
358
|
+
it ('returns false when passed a min that is equal to max', () => {
|
|
359
|
+
expect(isNumberBetween(9, 9, 9)).to.eql(false);
|
|
360
|
+
});
|
|
361
|
+
|
|
362
|
+
it ('not see a boolean as a number between', () => {
|
|
363
|
+
let vals = fnBooleanValues();
|
|
364
|
+
for (let el of vals) expect(isNumberBetween(el, 0, 1000)).to.eql(false);
|
|
365
|
+
});
|
|
366
|
+
|
|
367
|
+
it ('not see a regex as a number between', () => {
|
|
368
|
+
let vals = fnRegexValues();
|
|
369
|
+
for (let el of vals) expect(isNumberBetween(el, 0, 1000)).to.eql(false);
|
|
370
|
+
});
|
|
371
|
+
|
|
372
|
+
it ('not see an object as a number between', () => {
|
|
373
|
+
let vals = fnObjectValues();
|
|
374
|
+
for (let el of vals) expect(isNumberBetween(el, 0, 1000)).to.eql(false);
|
|
375
|
+
});
|
|
376
|
+
|
|
377
|
+
it ('not see a nullable as a number between', () => {
|
|
378
|
+
let vals = fnNullables();
|
|
379
|
+
for (let el of vals) expect(isNumberBetween(el, 0, 1000)).to.eql(false);
|
|
380
|
+
});
|
|
381
|
+
|
|
382
|
+
it ('not see a date as a number between', () => {
|
|
383
|
+
let vals = fnDateValues();
|
|
384
|
+
for (let el of vals) expect(isNumberBetween(el, 0, 1000)).to.eql(false);
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
it ('not see an array as a number between', () => {
|
|
388
|
+
let vals = fnArrayValues();
|
|
389
|
+
for (let el of vals) expect(isNumberBetween(el, 0, 1000)).to.eql(false);
|
|
390
|
+
});
|
|
391
|
+
|
|
392
|
+
it ('not see a function as a number between', () => {
|
|
393
|
+
let vals = fnFunctionValues();
|
|
394
|
+
for (let el of vals) expect(isNumberBetween(el, 0, 1000)).to.eql(false);
|
|
143
395
|
});
|
|
144
396
|
|
|
145
397
|
it ('not see a boolean as a number between', () => {
|
|
146
398
|
let vals = fnBooleanValues();
|
|
147
|
-
for (let el of vals) expect(isNumberBetween(
|
|
399
|
+
for (let el of vals) expect(isNumberBetween(0, el, 1000)).to.eql(false);
|
|
148
400
|
});
|
|
149
401
|
|
|
150
402
|
it ('not see a regex as a number between', () => {
|
|
151
403
|
let vals = fnRegexValues();
|
|
152
|
-
for (let el of vals) expect(isNumberBetween(
|
|
404
|
+
for (let el of vals) expect(isNumberBetween(0, el, 1000)).to.eql(false);
|
|
153
405
|
});
|
|
154
406
|
|
|
155
407
|
it ('not see an object as a number between', () => {
|
|
156
408
|
let vals = fnObjectValues();
|
|
157
|
-
for (let el of vals) expect(isNumberBetween(
|
|
409
|
+
for (let el of vals) expect(isNumberBetween(0, el, 1000)).to.eql(false);
|
|
158
410
|
});
|
|
159
411
|
|
|
160
412
|
it ('not see a nullable as a number between', () => {
|
|
161
413
|
let vals = fnNullables();
|
|
162
|
-
for (let el of vals) expect(isNumberBetween(
|
|
414
|
+
for (let el of vals) expect(isNumberBetween(0, el, 1000)).to.eql(false);
|
|
163
415
|
});
|
|
164
416
|
|
|
165
417
|
it ('not see a date as a number between', () => {
|
|
166
418
|
let vals = fnDateValues();
|
|
167
|
-
for (let el of vals) expect(isNumberBetween(
|
|
419
|
+
for (let el of vals) expect(isNumberBetween(0, el, 1000)).to.eql(false);
|
|
168
420
|
});
|
|
169
421
|
|
|
170
422
|
it ('not see an array as a number between', () => {
|
|
171
423
|
let vals = fnArrayValues();
|
|
172
|
-
for (let el of vals) expect(isNumberBetween(
|
|
424
|
+
for (let el of vals) expect(isNumberBetween(0, el, 1000)).to.eql(false);
|
|
173
425
|
});
|
|
174
426
|
|
|
175
427
|
it ('not see a function as a number between', () => {
|
|
176
428
|
let vals = fnFunctionValues();
|
|
177
|
-
for (let el of vals) expect(isNumberBetween(
|
|
429
|
+
for (let el of vals) expect(isNumberBetween(0, el, 1000)).to.eql(false);
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
it ('not see a boolean as a number between', () => {
|
|
433
|
+
let vals = fnBooleanValues();
|
|
434
|
+
for (let el of vals) expect(isNumberBetween(0, 0, el)).to.eql(false);
|
|
435
|
+
});
|
|
436
|
+
|
|
437
|
+
it ('not see a regex as a number between', () => {
|
|
438
|
+
let vals = fnRegexValues();
|
|
439
|
+
for (let el of vals) expect(isNumberBetween(0, 0, el)).to.eql(false);
|
|
178
440
|
});
|
|
179
441
|
|
|
180
|
-
it ('not see
|
|
181
|
-
let vals =
|
|
182
|
-
for (let el of vals) expect(isNumberBetween(
|
|
442
|
+
it ('not see an object as a number between', () => {
|
|
443
|
+
let vals = fnObjectValues();
|
|
444
|
+
for (let el of vals) expect(isNumberBetween(0, 0, el)).to.eql(false);
|
|
445
|
+
});
|
|
446
|
+
|
|
447
|
+
it ('not see a nullable as a number between', () => {
|
|
448
|
+
let vals = fnNullables();
|
|
449
|
+
for (let el of vals) expect(isNumberBetween(0, 0, el)).to.eql(false);
|
|
450
|
+
});
|
|
451
|
+
|
|
452
|
+
it ('not see a date as a number between', () => {
|
|
453
|
+
let vals = fnDateValues();
|
|
454
|
+
for (let el of vals) expect(isNumberBetween(0, 0, el)).to.eql(false);
|
|
455
|
+
});
|
|
456
|
+
|
|
457
|
+
it ('not see an array as a number between', () => {
|
|
458
|
+
let vals = fnArrayValues();
|
|
459
|
+
for (let el of vals) expect(isNumberBetween(0, 0, el)).to.eql(false);
|
|
460
|
+
});
|
|
461
|
+
|
|
462
|
+
it ('not see a function as a number between', () => {
|
|
463
|
+
let vals = fnFunctionValues();
|
|
464
|
+
for (let el of vals) expect(isNumberBetween(0, 0, el)).to.eql(false);
|
|
183
465
|
});
|
|
184
466
|
});
|
|
185
467
|
|
|
186
468
|
describe("Number - toPercentage", () => {
|
|
187
469
|
it ('should correctly calculate the percentage', () => {
|
|
188
|
-
expect(toPercentage(0.5)).
|
|
470
|
+
expect(toPercentage(0.5)).to.eql(50);
|
|
189
471
|
});
|
|
190
472
|
|
|
191
473
|
it ('should correctly calculate the percentage with precision', () => {
|
|
192
|
-
expect(toPercentage(0.50106579, 0)).
|
|
193
|
-
expect(toPercentage(0.50106579, 1)).
|
|
194
|
-
expect(toPercentage(0.50116579, 2)).
|
|
195
|
-
expect(toPercentage(0.50116579, 3)).
|
|
196
|
-
expect(toPercentage(0.50116579, 4)).
|
|
197
|
-
expect(toPercentage(0.50116579, 5)).
|
|
474
|
+
expect(toPercentage(0.50106579, 0)).to.eql(50);
|
|
475
|
+
expect(toPercentage(0.50106579, 1)).to.eql(50.1);
|
|
476
|
+
expect(toPercentage(0.50116579, 2)).to.eql(50.12);
|
|
477
|
+
expect(toPercentage(0.50116579, 3)).to.eql(50.117);
|
|
478
|
+
expect(toPercentage(0.50116579, 4)).to.eql(50.1166);
|
|
479
|
+
expect(toPercentage(0.50116579, 5)).to.eql(50.11658);
|
|
198
480
|
});
|
|
199
481
|
|
|
200
482
|
it ('should correctly apply range logic when provided', () => {
|
|
201
|
-
expect(toPercentage(5, 0, -10, 10)).
|
|
202
|
-
expect(toPercentage(-356, 0, -1000, 1000)).
|
|
203
|
-
expect(toPercentage(-356.52, 3, -1000, 1000)).
|
|
204
|
-
expect(toPercentage(0.005, 0, 0, 0.1)).
|
|
483
|
+
expect(toPercentage(5, 0, -10, 10)).to.eql(75);
|
|
484
|
+
expect(toPercentage(-356, 0, -1000, 1000)).to.eql(32);
|
|
485
|
+
expect(toPercentage(-356.52, 3, -1000, 1000)).to.eql(32.174);
|
|
486
|
+
expect(toPercentage(0.005, 0, 0, 0.1)).to.eql(5);
|
|
205
487
|
});
|
|
206
488
|
|
|
207
489
|
it ('should throw an error if the value is not numeric', () => {
|
|
208
490
|
expect(function () {
|
|
209
491
|
toPercentage('hello', 2, 0, 1);
|
|
210
492
|
toPercentage(false, 2, 0, 1);
|
|
211
|
-
}).
|
|
493
|
+
}).to.throw(TypeError);
|
|
212
494
|
});
|
|
213
495
|
|
|
214
496
|
it ('should throw an error if the min is not numeric', () => {
|
|
215
497
|
expect(function () {
|
|
216
498
|
toPercentage(0.5, 2, false, 1);
|
|
217
499
|
toPercentage(0.5, 2, 'Hello', 1);
|
|
218
|
-
}).
|
|
500
|
+
}).to.throw(TypeError);
|
|
219
501
|
});
|
|
220
502
|
|
|
221
503
|
it ('should throw an error if the max is not numeric', () => {
|
|
222
504
|
expect(function () {
|
|
223
505
|
toPercentage(0.5, 2, 0, 'Hello');
|
|
224
506
|
toPercentage(0.5, 2, 0, false);
|
|
225
|
-
}).
|
|
507
|
+
}).to.throw(TypeError);
|
|
226
508
|
});
|
|
227
509
|
});
|
|
228
510
|
|
|
229
511
|
describe("Number - isNumericalNaN", () => {
|
|
230
512
|
it ('not see a valid number as a NaN', () => {
|
|
231
|
-
expect(isNumericalNaN(42)).
|
|
513
|
+
expect(isNumericalNaN(42)).to.eql(false);
|
|
232
514
|
});
|
|
233
515
|
|
|
234
516
|
it ('not see a string as a NaN', () => {
|
|
235
|
-
expect(isNumericalNaN('foo')).
|
|
236
|
-
expect(isNumericalNaN('NaN')).
|
|
517
|
+
expect(isNumericalNaN('foo')).to.eql(false);
|
|
518
|
+
expect(isNumericalNaN('NaN')).to.eql(false);
|
|
237
519
|
});
|
|
238
520
|
|
|
239
521
|
it ('not see an object as a NaN', () => {
|
|
240
|
-
expect(isNumericalNaN({ foo: 'bar' })).
|
|
522
|
+
expect(isNumericalNaN({ foo: 'bar' })).to.eql(false);
|
|
241
523
|
});
|
|
242
524
|
|
|
243
525
|
it ('not see an array as a NaN', () => {
|
|
244
|
-
expect(isNumericalNaN([0, 1, 2])).
|
|
526
|
+
expect(isNumericalNaN([0, 1, 2])).to.eql(false);
|
|
245
527
|
});
|
|
246
528
|
|
|
247
529
|
it ('see a NaN as a NaN', () => {
|
|
248
|
-
expect(isNumericalNaN(NaN)).
|
|
530
|
+
expect(isNumericalNaN(NaN)).to.eql(true);
|
|
249
531
|
});
|
|
250
532
|
|
|
251
533
|
it ('sees infinity as a NaN', () => {
|
|
252
|
-
expect(isNumericalNaN(Infinity)).
|
|
534
|
+
expect(isNumericalNaN(Infinity)).to.eql(true);
|
|
253
535
|
});
|
|
254
536
|
});
|
|
255
537
|
|
|
256
538
|
describe("Number - round", () => {
|
|
257
539
|
it ('should correctly round a value', () => {
|
|
258
|
-
expect(round(5.123456789)).
|
|
540
|
+
expect(round(5.123456789)).to.eql(5);
|
|
259
541
|
});
|
|
260
542
|
|
|
261
543
|
it ('should correctly round a value with precision', () => {
|
|
262
|
-
expect(round(5.123456789, 0)).
|
|
263
|
-
expect(round(5.123456789, 1)).
|
|
264
|
-
expect(round(5.123456789, 2)).
|
|
265
|
-
expect(round(5.123456789, 3)).
|
|
266
|
-
expect(round(5.123456789, 4)).
|
|
267
|
-
expect(round(5.123456789, 5)).
|
|
544
|
+
expect(round(5.123456789, 0)).to.eql(5);
|
|
545
|
+
expect(round(5.123456789, 1)).to.eql(5.1);
|
|
546
|
+
expect(round(5.123456789, 2)).to.eql(5.12);
|
|
547
|
+
expect(round(5.123456789, 3)).to.eql(5.123);
|
|
548
|
+
expect(round(5.123456789, 4)).to.eql(5.1235);
|
|
549
|
+
expect(round(5.123456789, 5)).to.eql(5.12346);
|
|
550
|
+
expect(round(42.139691918126184, 3)).to.eql(42.14);
|
|
551
|
+
expect(round(42.134691918126184, 3)).to.eql(42.135);
|
|
268
552
|
});
|
|
269
553
|
|
|
270
554
|
it ('should throw an error if the value is not numeric', () => {
|
|
271
555
|
expect(function () {
|
|
272
556
|
round('hello', 2);
|
|
273
|
-
}).
|
|
557
|
+
}).to.throw(TypeError);
|
|
274
558
|
});
|
|
275
559
|
});
|
|
276
560
|
|
|
277
561
|
describe("Number - randomBetween", () => {
|
|
278
562
|
it ('should return a random number', () => {
|
|
279
|
-
|
|
563
|
+
assert.typeOf(randomBetween(), 'Number');
|
|
280
564
|
});
|
|
281
565
|
|
|
282
566
|
it ('should return a random number between min and max', () => {
|
|
@@ -286,7 +570,7 @@ describe("Number - randomBetween", () => {
|
|
|
286
570
|
if (random < 0 && random > 1000) between = false;
|
|
287
571
|
}
|
|
288
572
|
|
|
289
|
-
expect(between).
|
|
573
|
+
expect(between).to.eql(true);
|
|
290
574
|
});
|
|
291
575
|
|
|
292
576
|
it ('should return a unique random number over subsequent calls', () => {
|
|
@@ -295,18 +579,18 @@ describe("Number - randomBetween", () => {
|
|
|
295
579
|
const random = randomBetween(0, 100);
|
|
296
580
|
cache[`${random}`] = random;
|
|
297
581
|
}
|
|
298
|
-
expect(Object.keys(cache).length).
|
|
582
|
+
expect(Object.keys(cache).length).to.eql(100000);
|
|
299
583
|
});
|
|
300
584
|
|
|
301
585
|
it ('should throw an error if the min/max is not numeric', () => {
|
|
302
586
|
expect(function () {
|
|
303
587
|
randomBetween('min', 2);
|
|
304
|
-
}).
|
|
588
|
+
}).to.throw(TypeError);
|
|
305
589
|
expect(function () {
|
|
306
590
|
randomBetween(2, 'max');
|
|
307
|
-
}).
|
|
591
|
+
}).to.throw(TypeError);
|
|
308
592
|
expect(function () {
|
|
309
593
|
randomBetween(2, 5);
|
|
310
|
-
}).not.
|
|
594
|
+
}).not.to.throw(TypeError);
|
|
311
595
|
});
|
|
312
596
|
});
|