chai-bn
    TypeScript icon, indicating that this package has built-in type declarations

    0.3.1 • Public • Published

    chai-bn

    NPM Package Build Status

    Chai assertions for comparing arbitrary-precision integers using the bn.js library. Forked from chai-bignumber, which uses the bignumber.js library.

    Installation

    npm install --save-dev chai-bn

    Usage

    const chai = require('chai');
    const BN = require('bn.js');
    
    // Enable and inject BN dependency
    chai.use(require('chai-bn')(BN));

    Assertions

    The following assertion methods are provided and will override the existing builtin assertions if the bignumber property is set as part of the assertion chain:

    • equal/equals/eq
    • above/gt/greaterThan
    • least/gte
    • below/lt/lessThan
    • most/lte
    • closeTo

    A set of additional assertion properties is also provided:

    • negative
    • zero

    Both actual values (the values being asserted) and expected values (the values the actual value is expected to match) can be either instances of BN, or strings which can be converted into a valid number. This is a key difference with chai-bignumber, which automatically converts JavaScript numbers to BigNumber instances for both actual and expected values.

    Only BDD style (expect or should) assertions are supported.

    Examples

    Methods:

    const actual = new BN('100000000000000000').plus(new BN('1'));
    const expected = '100000000000000001';
    
    actual.should.be.a.bignumber.that.equals(expected);
    expect(actual).to.be.a.bignumber.that.is.at.most(expected);
    (new BN('1000')).should.be.a.bignumber.that.is.lessThan('2000');

    Properties:

    (new BN('-100')).should.be.a.bignumber.that.is.negative;
    expect(new BN('1').sub(new BN('1'))).to.be.a.bignumber.that.is.zero;

    Some Chai properties (e.g. the that.is chain) have no effect other than increasing readability, and can be dropped if less verbosity is desired.

    License

    MIT

    Install

    npm i chai-bn

    DownloadsWeekly Downloads

    24,798

    Version

    0.3.1

    License

    MIT

    Unpacked Size

    11.5 kB

    Total Files

    5

    Last publish

    Collaborators

    • frangio
    • nventuro