|
1 require("../env"); |
|
2 require("../../d3"); |
|
3 |
|
4 var vows = require("vows"), |
|
5 assert = require("assert"); |
|
6 |
|
7 var suite = vows.describe("d3.zip"); |
|
8 |
|
9 suite.addBatch({ |
|
10 "zip": { |
|
11 topic: function() { |
|
12 return d3.zip; |
|
13 }, |
|
14 "transposes a square matrix": function(zip) { |
|
15 assert.deepEqual(d3.zip([1, 2], [3, 4]), [[1, 3], [2, 4]]); |
|
16 }, |
|
17 "transposes a non-square matrix": function(zip) { |
|
18 assert.deepEqual(d3.zip([1, 2, 3, 4, 5], [2, 4, 6, 8, 10]), [[1, 2], [2, 4], [3, 6], [4, 8], [5, 10]]); |
|
19 }, |
|
20 "transposes a single-row matrix": function(zip) { |
|
21 assert.deepEqual(d3.zip([1, 2, 3, 4, 5]), [[1], [2], [3], [4], [5]]); |
|
22 }, |
|
23 "transposes an empty matrix": function(zip) { |
|
24 assert.deepEqual(d3.zip(), []); |
|
25 }, |
|
26 "ignores extra elements given an irregular matrix": function(zip) { |
|
27 assert.deepEqual(d3.zip([1, 2], [3, 4], [5, 6, 7]), [[1, 3, 5], [2, 4, 6]]); |
|
28 } |
|
29 } |
|
30 }); |
|
31 |
|
32 suite.export(module); |