PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-core/test
Просмотр файла: Output.ts
import * as assert from 'assert';
import { getFixedOutputSum, getMaxOutput, getOutputSum, isMaxOutput, toFixedOutputs } from '../src';
describe('Output', function () {
const oBigInt = { value: 1n };
const oBigInt2 = { value: 2n };
const oMax = { value: 'max' } as const;
it('getMaxOutput returns expected values', function () {
assert.strictEqual(getMaxOutput([oBigInt]), undefined);
assert.strictEqual(getMaxOutput([oBigInt, oBigInt]), undefined);
assert.strictEqual(getMaxOutput([oBigInt, oMax]), oMax);
assert.throws(() => getMaxOutput([oMax, oMax]), /Multiple max outputs/);
});
it('isMaxOutput correctly identifies max outputs', function () {
assert.strictEqual(isMaxOutput(oBigInt), false);
assert.strictEqual(isMaxOutput(oMax), true);
});
it('getOutputSum calculates sum correctly', function () {
assert.strictEqual(getOutputSum([]), 0n);
assert.strictEqual(getOutputSum([oBigInt]), 1n);
assert.strictEqual(getOutputSum([oBigInt, oBigInt2]), 3n);
});
it('getFixedOutputSum handles mixed outputs', function () {
assert.strictEqual(getFixedOutputSum([]), 0n);
assert.strictEqual(getFixedOutputSum([oBigInt]), 1n);
assert.strictEqual(getFixedOutputSum([oBigInt, oMax]), 1n);
assert.strictEqual(getFixedOutputSum([oBigInt, oBigInt2, oMax]), 3n);
});
it('toFixedOutputs converts max outputs correctly', function () {
const maxAmount = 10n;
assert.deepStrictEqual(toFixedOutputs([oBigInt], { maxAmount }), [oBigInt]);
assert.deepStrictEqual(toFixedOutputs([oMax], { maxAmount }), [{ ...oMax, value: maxAmount }]);
assert.throws(() => toFixedOutputs([oMax, oMax], { maxAmount }), /Multiple max outputs/);
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!