-
Notifications
You must be signed in to change notification settings - Fork 22.9k
/
zip-test.js
28 lines (25 loc) · 916 Bytes
/
zip-test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var vows = require("vows"),
load = require("../load"),
assert = require("../assert");
var suite = vows.describe("d3.zip");
suite.addBatch({
"zip": {
topic: load("arrays/zip").expression("d3.zip"),
"transposes a square matrix": function(zip) {
assert.deepEqual(zip([1, 2], [3, 4]), [[1, 3], [2, 4]]);
},
"transposes a non-square matrix": function(zip) {
assert.deepEqual(zip([1, 2, 3, 4, 5], [2, 4, 6, 8, 10]), [[1, 2], [2, 4], [3, 6], [4, 8], [5, 10]]);
},
"transposes a single-row matrix": function(zip) {
assert.deepEqual(zip([1, 2, 3, 4, 5]), [[1], [2], [3], [4], [5]]);
},
"transposes an empty matrix": function(zip) {
assert.deepEqual(zip(), []);
},
"ignores extra elements given an irregular matrix": function(zip) {
assert.deepEqual(zip([1, 2], [3, 4], [5, 6, 7]), [[1, 3, 5], [2, 4, 6]]);
}
}
});
suite.export(module);