UNPKG

rafa

Version:

Rafa.js is a Javascript framework for building concurrent applications.

41 lines (36 loc) 1.16 kB
module.exports = (assert, Rafa) => { suite("reduce", () => { test("sum", () => { var stream = Rafa.stream(); var values = []; stream.reduce((a, b) => a + b) .each(v => values.push(v)) .done(v => values.push(v)); stream.enumerate(Rafa.Enumerator.array([1,2,3])); assert.equal(values.length, 2); assert.equal(values[0], 6); }); test("single done message with undefined value", () => { var stream = Rafa.stream(); var values = []; stream.reduce((a, b) => a + b) .each(v => values.push(v)) .done(v => values.push(v)); Rafa.doneMessage().push(stream); assert.equal(values.length, 1); assert.isUndefined(values[1]); assert.isUndefined(values[2]); }); test("single done message with value", () => { var stream = Rafa.stream(); var values = []; stream.reduce((a, b) => a + b) .each(v => values.push(v)) .done(v => values.push(v)); Rafa.doneMessage(1).push(stream); assert.equal(values.length, 2); assert.equal(values[0], 1); assert.equal(values[1], 1); }); }); };