blob: 23b07fac7d5d2a972bb8e3773834acd17cf50753 [file]
var vows = require("vows"),
load = require("../load"),
assert = require("../assert");
var suite = vows.describe("d3.pairs");
suite.addBatch({
"pairs": {
topic: load("arrays/pairs").expression("d3.pairs"),
"returns the empty array if input array has length less than two": function(pairs) {
assert.deepEqual(pairs([]), []);
assert.deepEqual(pairs([1]), []);
},
"returns pairs of adjacent elements in the given array": function(pairs) {
assert.deepEqual(pairs([1, 2]), [[1, 2]]);
assert.deepEqual(pairs([1, 2, 3]), [[1, 2], [2, 3]]);
var a = {}, b = {}, c = {}, d = {};
assert.deepEqual(pairs([a, b, c, d]), [[a, b], [b, c], [c, d]]);
},
"includes null or undefined elements in pairs": function(pairs) {
assert.deepEqual(pairs([1, null, 2]), [[1, null], [null, 2]]);
assert.deepEqual(pairs([1, 2, undefined]), [[1, 2], [2, undefined]]);
}
}
});
suite.export(module);