PHP WebShell
Текущая директория: /opt/BitGoJS/node_modules/@bitgo-forks/avalanchejs/src/utils
Просмотр файла: consolidate.spec.ts
import { consolidate } from './consolidate';
describe('consolidate', () => {
it('combines elements', () => {
const arr = [true, false, true, false];
const canCombine = (a: boolean, b: boolean) => a === b;
const combine = (a: boolean) => a;
const consolidated = consolidate(arr, canCombine, combine);
expect(consolidated.length).toEqual(2);
expect(consolidated[0]).toEqual(true);
expect(consolidated[1]).toEqual(false);
});
it('preserves combining order', () => {
const arr = [1, 2, 3, 4, 5, 6];
const canCombine = (a: number, b: number) => a % 2 === 0 && b % 2 === 0;
const combine = (a: number, b: number) => a + b;
const consolidated = consolidate(arr, canCombine, combine);
expect(consolidated.length).toEqual(4);
expect(consolidated[0]).toEqual(1);
expect(consolidated[1]).toEqual(12);
expect(consolidated[2]).toEqual(3);
expect(consolidated[3]).toEqual(5);
});
it('returns identical array if cannot combine anything', () => {
const arr = [1, 2, 3, 4, 5, 6];
const canCombine = () => false;
const combine = (a: number, b: number) => a + b;
const consolidated = consolidate(arr, canCombine, combine);
expect(consolidated.length).toEqual(arr.length);
expect(consolidated[0]).toEqual(1);
expect(consolidated[1]).toEqual(2);
expect(consolidated[2]).toEqual(3);
expect(consolidated[3]).toEqual(4);
expect(consolidated[4]).toEqual(5);
expect(consolidated[5]).toEqual(6);
});
it('handles empty lists gracefully', () => {
const arr: number[] = [];
const canCombine = () => true;
const combine = (a: number, b: number) => a + b;
const consolidated = consolidate(arr, canCombine, combine);
expect(consolidated.length).toEqual(arr.length);
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!