diff options
author | Leonid <logvinov.leon@gmail.com> | 2018-01-19 20:39:57 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-19 20:39:57 +0800 |
commit | 6091f818da7cddcb4a22a573f7726ba9b76b398e (patch) | |
tree | 5769ca73d50c497e46e6c6c927700ae0fa00bec9 /packages/assert | |
parent | a45f9b480233d207fa5ba80a8e47cc3193c243d8 (diff) | |
parent | 9ccf63b44afe1ae6ccc2b9298ee35697d6be9e30 (diff) | |
download | dexon-sol-tools-6091f818da7cddcb4a22a573f7726ba9b76b398e.tar dexon-sol-tools-6091f818da7cddcb4a22a573f7726ba9b76b398e.tar.gz dexon-sol-tools-6091f818da7cddcb4a22a573f7726ba9b76b398e.tar.bz2 dexon-sol-tools-6091f818da7cddcb4a22a573f7726ba9b76b398e.tar.lz dexon-sol-tools-6091f818da7cddcb4a22a573f7726ba9b76b398e.tar.xz dexon-sol-tools-6091f818da7cddcb4a22a573f7726ba9b76b398e.tar.zst dexon-sol-tools-6091f818da7cddcb4a22a573f7726ba9b76b398e.zip |
Merge branch 'development' into feature/separate-deployer
Diffstat (limited to 'packages/assert')
-rw-r--r-- | packages/assert/src/index.ts | 2 | ||||
-rw-r--r-- | packages/assert/test/assert_test.ts | 14 |
2 files changed, 16 insertions, 0 deletions
diff --git a/packages/assert/src/index.ts b/packages/assert/src/index.ts index 56f663780..7ad574ec7 100644 --- a/packages/assert/src/index.ts +++ b/packages/assert/src/index.ts @@ -12,6 +12,8 @@ export const assert = { }, isValidBaseUnitAmount(variableName: string, value: BigNumber) { assert.isBigNumber(variableName, value); + const isNegative = value.lessThan(0); + this.assert(!isNegative, `${variableName} cannot be a negative number, found value: ${value.toNumber()}`); const hasDecimals = value.decimalPlaces() !== 0; this.assert( !hasDecimals, diff --git a/packages/assert/test/assert_test.ts b/packages/assert/test/assert_test.ts index ff337196d..b0fa398d6 100644 --- a/packages/assert/test/assert_test.ts +++ b/packages/assert/test/assert_test.ts @@ -22,6 +22,20 @@ describe('Assertions', () => { invalidInputs.forEach(input => expect(assert.isBigNumber.bind(assert, variableName, input)).to.throw()); }); }); + describe('#isValidBaseUnitAmount', () => { + it('should not throw for valid input', () => { + const validInputs = [new BigNumber(23), new BigNumber('45000000')]; + validInputs.forEach(input => + expect(assert.isValidBaseUnitAmount.bind(assert, variableName, input)).to.not.throw(), + ); + }); + it('should throw for invalid input', () => { + const invalidInputs = [0, undefined, new BigNumber(3.145), 3.145, new BigNumber(-400)]; + invalidInputs.forEach(input => + expect(assert.isValidBaseUnitAmount.bind(assert, variableName, input)).to.throw(), + ); + }); + }); describe('#isString', () => { it('should not throw for valid input', () => { const validInputs = ['hello', 'goodbye']; |