MessagesForMacintosh/JS/node_modules/zen-observable/test/reduce.js

39 lines
883 B
JavaScript

import assert from 'assert';
describe('reduce', () => {
it('reduces without a seed', async () => {
await Observable.from([1, 2, 3, 4, 5, 6]).reduce((a, b) => {
return a + b;
}).forEach(x => {
assert.equal(x, 21);
});
});
it('errors if empty and no seed', async () => {
try {
await Observable.from([]).reduce((a, b) => {
return a + b;
}).forEach(() => null);
assert.ok(false);
} catch (err) {
assert.ok(true);
}
});
it('reduces with a seed', async () => {
Observable.from([1, 2, 3, 4, 5, 6]).reduce((a, b) => {
return a + b;
}, 100).forEach(x => {
assert.equal(x, 121);
});
});
it('reduces an empty list with a seed', async () => {
await Observable.from([]).reduce((a, b) => {
return a + b;
}, 100).forEach(x => {
assert.equal(x, 100);
});
});
});