rafa
Version:
Rafa.js is a Javascript framework for building concurrent applications.
43 lines (39 loc) • 1.2 kB
JavaScript
module.exports = (assert, Rafa) => {
suite("take", () => {
test("-1", () => {
var stream = Rafa.stream();
var results = [];
var child = stream.take(-1);
child.each(v => results.push(v));
stream.enumerate(Rafa.Enumerator.array([1,2]));
assert.equal(results.length, 0);
});
test("0", () => {
var stream = Rafa.stream();
var results = [];
var child = stream.take(0);
child.each(v => results.push(v));
stream.enumerate(Rafa.Enumerator.array([1,2]));
assert.equal(results.length, 0);
});
test("1", () => {
var stream = Rafa.stream();
var results = [];
var child = stream.take(1);
child.each(v => results.push(v));
stream.enumerate(Rafa.Enumerator.array([1,2]));
assert.equal(results.length, 1);
assert.equal(results[0], 1);
});
test("2", () => {
var stream = Rafa.stream();
var results = [];
var child = stream.take(2);
child.each(v => results.push(v));
stream.enumerate(Rafa.Enumerator.array([1,2,3]));
assert.equal(results.length, 2);
assert.equal(results[0], 1);
assert.equal(results[1], 2);
});
});
};