aboutsummaryrefslogtreecommitdiffstats
path: root/packages/assert
diff options
context:
space:
mode:
authorLeonid <logvinov.leon@gmail.com>2018-01-19 20:39:57 +0800
committerGitHub <noreply@github.com>2018-01-19 20:39:57 +0800
commit6091f818da7cddcb4a22a573f7726ba9b76b398e (patch)
tree5769ca73d50c497e46e6c6c927700ae0fa00bec9 /packages/assert
parenta45f9b480233d207fa5ba80a8e47cc3193c243d8 (diff)
parent9ccf63b44afe1ae6ccc2b9298ee35697d6be9e30 (diff)
downloaddexon-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.ts2
-rw-r--r--packages/assert/test/assert_test.ts14
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'];