PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-core/test/unit
Просмотр файла: units.ts
import BigNumber from 'bignumber.js';
import 'should';
import { toFullUnits, toFullUnitsFixed, toBaseUnits, toMarketValueBaseUnits } from '../../src';
describe('units', () => {
describe('toFullUnits', () => {
it('should convert numbers into full units', () => {
toFullUnits(0, 'susd').should.equal('0');
toFullUnits(75, 'susd').should.equal('0.75');
toFullUnits(-100, 'susd').should.equal('-1');
toFullUnits(0, 'btc').should.equal('0');
toFullUnits(75, 'btc').should.equal('7.5e-7');
toFullUnits(750000, 'btc').should.equal('0.0075');
toFullUnits(-7500000, 'btc').should.equal('-0.075');
});
it('should convert big numbers into full units', () => {
toFullUnits(BigNumber(0), 'susd').should.equal('0');
toFullUnits(BigNumber(75), 'susd').should.equal('0.75');
toFullUnits(BigNumber('7500000000000'), 'susd').should.equal('75000000000');
toFullUnits(BigNumber('750000000000000000000000000'), 'susd').should.equal('7.5e+24');
toFullUnits(BigNumber(-100), 'susd').should.equal('-1');
toFullUnits(BigNumber(0), 'btc').should.equal('0');
toFullUnits(BigNumber(75), 'btc').should.equal('7.5e-7');
toFullUnits(BigNumber(750000), 'btc').should.equal('0.0075');
toFullUnits(BigNumber(-7500000), 'btc').should.equal('-0.075');
toFullUnits(BigNumber('75000000000000000000000000'), 'btc').should.equal('750000000000000000');
});
});
describe('toFullUnitsFixed', () => {
it('should convert numbers into full fixed units', () => {
toFullUnitsFixed(0, 'susd').should.equal('0.00');
toFullUnitsFixed(75, 'susd').should.equal('0.75');
toFullUnitsFixed(-100, 'susd').should.equal('-1.00');
toFullUnitsFixed(0, 'btc').should.equal('0.00000000');
toFullUnitsFixed(75, 'btc').should.equal('0.00000075');
toFullUnitsFixed(750000, 'btc').should.equal('0.00750000');
toFullUnitsFixed(-7500000, 'btc').should.equal('-0.07500000');
});
it('should convert big numbers into full fixed units', () => {
toFullUnitsFixed(BigNumber(0), 'susd').should.equal('0.00');
toFullUnitsFixed(BigNumber(75), 'susd').should.equal('0.75');
toFullUnitsFixed(BigNumber('7500000000000'), 'susd').should.equal('75000000000.00');
toFullUnitsFixed(BigNumber('750000000000000000000000000'), 'susd').should.equal('7500000000000000000000000.00');
toFullUnitsFixed(BigNumber(-100), 'susd').should.equal('-1.00');
toFullUnitsFixed(BigNumber(0), 'btc').should.equal('0.00000000');
toFullUnitsFixed(BigNumber(75), 'btc').should.equal('0.00000075');
toFullUnitsFixed(BigNumber(750000), 'btc').should.equal('0.00750000');
toFullUnitsFixed(BigNumber(-7500000), 'btc').should.equal('-0.07500000');
toFullUnitsFixed(BigNumber('75000000000000000000000000'), 'btc').should.equal('750000000000000000.00000000');
});
});
describe('toBaseUnits', () => {
it('should convert into base units', () => {
toBaseUnits(0, 'susd').should.equal('0');
toBaseUnits('0.75', 'susd').should.equal('75');
toBaseUnits('-1.00', 'susd').should.equal('-100');
toBaseUnits('0', 'btc').should.equal('0');
toBaseUnits('0.000000000', 'btc').should.equal('0');
toBaseUnits('0.00000075', 'btc').should.equal('75');
toBaseUnits('0.00750000', 'btc').should.equal('750000');
toBaseUnits('-0.07500000', 'btc').should.equal('-7500000');
});
it('should convert big numbers into base units', () => {
toBaseUnits(BigNumber(0), 'susd').should.equal('0');
toBaseUnits(BigNumber(75), 'susd').should.equal('7500');
toBaseUnits(BigNumber('7500000000000'), 'susd').should.equal('750000000000000');
toBaseUnits(BigNumber('750000000000000000000000000'), 'susd').should.equal('7.5e+28');
toBaseUnits(BigNumber(-100), 'susd').should.equal('-10000');
toBaseUnits(BigNumber(0), 'btc').should.equal('0');
toBaseUnits(BigNumber(75), 'btc').should.equal('7500000000');
toBaseUnits(BigNumber(750000), 'btc').should.equal('75000000000000');
toBaseUnits(BigNumber(-7500000), 'btc').should.equal('-750000000000000');
toBaseUnits(BigNumber('75000000000000000000000000'), 'btc').should.equal('7.5e+33');
});
});
describe('toMarketValueBaseUnits', () => {
it('should convert into market value base units', () => {
toMarketValueBaseUnits('susd', 1, 0).should.equal(BigInt(0));
toMarketValueBaseUnits('susd', 1, 10).should.equal(BigInt(10));
toMarketValueBaseUnits('susd', 70000000, 0).should.equal(BigInt(0));
toMarketValueBaseUnits('susd', 70000000, 10).should.equal(BigInt(700000000));
toMarketValueBaseUnits('btc', 1, 0).should.equal(BigInt(0));
toMarketValueBaseUnits('btc', 1, 10).should.equal(BigInt(0));
toMarketValueBaseUnits('btc', 70000000, 0).should.equal(BigInt(0));
toMarketValueBaseUnits('btc', 70000000, 10).should.equal(BigInt(700));
toMarketValueBaseUnits('btc', BigNumber('7000000000000000000000000'), 10).should.equal(
BigInt('69999999999999999280')
);
});
it('should allow changing the numerator of the trading pair', () => {
// $3.38 market value for 1 eth at 338.2582 cents market price
toMarketValueBaseUnits('teth', 338.2582, BigInt(10000000000000000).toString(), 'tsusd').should.equal(BigInt(338));
});
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!