@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`",
|
"note": "Add new assertions: `isArray`, `isBlockParam` and `isNumberOrBigNumber`",
|
||||||
"pr": 1823
|
"pr": 1823
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"note": "Add `isNumberLike()` assertion",
|
||||||
|
"pr": 1819
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"timestamp": 1563006338
|
"timestamp": 1563006338
|
||||||
|
@ -10,6 +10,11 @@ export const assert = {
|
|||||||
const isBigNumber = BigNumber.isBigNumber(value);
|
const isBigNumber = BigNumber.isBigNumber(value);
|
||||||
assert.assert(isBigNumber, assert.typeAssertionMessage(variableName, 'BigNumber', 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 {
|
isValidBaseUnitAmount(variableName: string, value: BigNumber): void {
|
||||||
assert.isBigNumber(variableName, value);
|
assert.isBigNumber(variableName, value);
|
||||||
const isNegative = value.isLessThan(0);
|
const isNegative = value.isLessThan(0);
|
||||||
|
@ -23,6 +23,16 @@ describe('Assertions', () => {
|
|||||||
invalidInputs.forEach(input => expect(assert.isBigNumber.bind(assert, variableName, input)).to.throw());
|
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', () => {
|
describe('#isValidBaseUnitAmount', () => {
|
||||||
it('should not throw for valid input', () => {
|
it('should not throw for valid input', () => {
|
||||||
const validInputs = [new BigNumber(23), new BigNumber('45000000')];
|
const validInputs = [new BigNumber(23), new BigNumber('45000000')];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user