var vows = require("vows"), load = require("../load"), assert = require("../assert"); var suite = vows.describe("d3.ascending"); suite.addBatch({ "d3.ascending": { topic: load("arrays/ascending").expression("d3.ascending"), "numbers": { "returns a negative number if a < b": function(ascending) { assert.isTrue(ascending(0, 1) < 0); }, "returns a positive number if a > b": function(ascending) { assert.isTrue(ascending(1, 0) > 0); }, "returns zero if a == b": function(ascending) { assert.equal(ascending(0, 0), 0); }, "returns NaN if a or b is undefined": function(ascending) { assert.isNaN(ascending(0, undefined)); assert.isNaN(ascending(undefined, 0)); assert.isNaN(ascending(undefined, undefined)); }, "returns NaN if a or b is NaN": function(ascending) { assert.isNaN(ascending(0, NaN)); assert.isNaN(ascending(NaN, 0)); assert.isNaN(ascending(NaN, NaN)); } }, "strings": { "returns a negative number if a < b": function(ascending) { assert.isTrue(ascending("a", "b") < 0); }, "returns a positive number if a > b": function(ascending) { assert.isTrue(ascending("b", "a") > 0); }, "returns zero if a == b": function(ascending) { assert.equal(ascending("a", "a"), 0); } } } }); suite.export(module);