diff -r efd9c589177a -r c0b4a8b5a012 toolkit/javascript/d3/test/core/zip-test.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolkit/javascript/d3/test/core/zip-test.js Thu Apr 10 14:20:23 2014 +0200 @@ -0,0 +1,32 @@ +require("../env"); +require("../../d3"); + +var vows = require("vows"), + assert = require("assert"); + +var suite = vows.describe("d3.zip"); + +suite.addBatch({ + "zip": { + topic: function() { + return d3.zip; + }, + "transposes a square matrix": function(zip) { + assert.deepEqual(d3.zip([1, 2], [3, 4]), [[1, 3], [2, 4]]); + }, + "transposes a non-square matrix": function(zip) { + assert.deepEqual(d3.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(d3.zip([1, 2, 3, 4, 5]), [[1], [2], [3], [4], [5]]); + }, + "transposes an empty matrix": function(zip) { + assert.deepEqual(d3.zip(), []); + }, + "ignores extra elements given an irregular matrix": function(zip) { + assert.deepEqual(d3.zip([1, 2], [3, 4], [5, 6, 7]), [[1, 3, 5], [2, 4, 6]]); + } + } +}); + +suite.export(module);