balanceofsatoshis
Version:
Lightning balance CLI
44 lines (37 loc) • 1.11 kB
JavaScript
const {equal} = require('node:assert').strict;
const test = require('node:test');
const {throws} = require('node:assert').strict;
const {shuffle} = require('./../../arrays');
const tests = [
{
args: {},
description: 'An array is required',
error: 'ExpectedArrayToShuffle',
},
{
args: {array: []},
description: 'An empty array returns an empty array',
expected: {shuffled: ''},
},
{
args: {array: [1, 2, 3]},
description: 'An array is shuffled as expected',
expected: {shuffled: '3,1,2'},
},
];
tests.forEach(({args, description, error, expected}) => {
return test(description, (t, end) => {
if (!!error) {
throws(() => shuffle(args), new Error(error), 'Got expected error');
} else if (!expected.shuffled) {
equal(shuffle(args).shuffled.join(''), '', 'Empty array is returned');
} else {
let shuffled = [];
while (shuffled.join(',') !== expected.shuffled) {
shuffled = shuffle(args).shuffled;
}
equal(shuffled.join(','), expected.shuffled, 'Array is shuffled');
}
return end();
});
});