alle new
This commit is contained in:
erik committed 2026-10-01 06:46:51 +02:00
1 parent da64472251
commit 5b20adee48
1605 files changed
+396517 -1674

No files matched your search

+53
View File
@@ -0,0 +1,53 @@
var lazyIterators = require("../lib/lazy-iterators");
exports.convertingArrayToIteratorAndBack = function(test) {
var original = ["apple", "banana", "coconut"];
var iterator = lazyIterators.fromArray(original);
var reconstituted = iterator.toArray();
test.deepEqual(original, reconstituted);
test.done();
};
exports.mapAppliesFunctionToEveryElement = function(test) {
var original = [1, 2, 3];
var squared = lazyIterators.fromArray(original).map(function(i) {
return i * i;
}).toArray();
test.deepEqual([1, 4, 9], squared);
test.done();
};
exports.mappingFunctionIsOnlyCalledWhenNecessary = function(test) {
var original = [1, 2, 3];
var faultySquared = lazyIterators.fromArray(original).map(function(i) {
if (i === 1) {
return i;
} else {
throw new Error("Can only calculate the square of one");
}
}).first();
test.deepEqual(1, faultySquared);
test.done();
};
exports.filterRetainsElementsThatSatisfyPredicate = function(test) {
var original = [1, 2, 3, 4];
var even = lazyIterators.fromArray(original).filter(function(i) {
return i % 2 === 0;
}).toArray();
test.deepEqual([2, 4], even);
test.done();
};
exports.firstReturnsFirstElementOfArray = function(test) {
var original = [1, 2, 3, 4];
var first = lazyIterators.fromArray(original).first();
test.deepEqual(1, first);
test.done();
};
exports.firstIsNullIfArrayIsEmpty = function(test) {
var first = lazyIterators.fromArray([]).first();
test.same(null, first);
test.done();
};