@0x/assert
: Add isNumberLike
assertion
This commit is contained in:
parent
14167412e0
commit
339fc9ff14
@ -5,6 +5,10 @@
|
||||
{
|
||||
"note": "Add new assertions: `isArray`, `isBlockParam` and `isNumberOrBigNumber`",
|
||||
"pr": 1823
|
||||
},
|
||||
{
|
||||
"note": "Add `isNumberLike()` assertion",
|
||||
"pr": 1819
|
||||
}
|
||||
],
|
||||
"timestamp": 1563006338
|
||||
|
@ -10,6 +10,11 @@ export const assert = {
|
||||
const isBigNumber = BigNumber.isBigNumber(value);
|
||||
assert.assert(isBigNumber, assert.typeAssertionMessage(variableName, 'BigNumber', value));
|
||||
},
|
||||
isNumberLike(variableName: string, value: BigNumber | number): void {
|
||||
const isBigNumber = BigNumber.isBigNumber(value);
|
||||
const isNumber = typeof value === 'number';
|
||||
assert.assert(isBigNumber || isNumber, assert.typeAssertionMessage(variableName, 'BigNumber | number', value));
|
||||
},
|
||||
isValidBaseUnitAmount(variableName: string, value: BigNumber): void {
|
||||
assert.isBigNumber(variableName, value);
|
||||
const isNegative = value.isLessThan(0);
|
||||
|
@ -23,6 +23,16 @@ describe('Assertions', () => {
|
||||
invalidInputs.forEach(input => expect(assert.isBigNumber.bind(assert, variableName, input)).to.throw());
|
||||
});
|
||||
});
|
||||
describe('#isNumberLike', () => {
|
||||
it('should not throw for valid input', () => {
|
||||
const validInputs = [new BigNumber(23), 23];
|
||||
validInputs.forEach(input => expect(assert.isNumberLike.bind(assert, variableName, input)).to.not.throw());
|
||||
});
|
||||
it('should throw for invalid input', () => {
|
||||
const invalidInputs = ['test', false, { random: 'test' }, undefined];
|
||||
invalidInputs.forEach(input => expect(assert.isNumberLike.bind(assert, variableName, input)).to.throw());
|
||||
});
|
||||
});
|
||||
describe('#isValidBaseUnitAmount', () => {
|
||||
it('should not throw for valid input', () => {
|
||||
const validInputs = [new BigNumber(23), new BigNumber('45000000')];
|
||||
|
Loading…
x
Reference in New Issue
Block a user