UNPKG

d3-jsnext

Version:
47 lines (41 loc) 1.29 kB
require( 'babel/register' ); var vows = require("vows"), load = require("../load"), assert = require("../assert"); var suite = vows.describe("d3.layout.cluster"); suite.addBatch({ "cluster": { topic: load("layout/cluster").expression("d3.layout.cluster"), "can handle an empty children array": function(cluster) { var c = cluster(); assert.deepEqual(c.nodes({value: 1, children: [{value: 1, children: []}, {value: 1}]}).map(layout), [ {value: 1, depth: 0, x: 0.5, y: 0}, {value: 1, depth: 1, x: 0.25, y: 1}, {value: 1, depth: 1, x: 0.75, y: 1} ]); }, "can handle zero-valued nodes": function(cluster) { var c = cluster(); assert.deepEqual(c.nodes({value: 0, children: [{value: 0}, {value: 1}]}).map(layout), [ {value: 0, depth: 0, x: 0.5, y: 0}, {value: 0, depth: 1, x: 0.25, y: 1}, {value: 1, depth: 1, x: 0.75, y: 1} ]); }, "can handle a single node": function(cluster) { var c = cluster(); assert.deepEqual(c.nodes({value: 0}).map(layout), [ {value: 0, depth: 0, x: 0.5, y: 0} ]); } } }); function layout(node) { return { value: node.value, depth: node.depth, x: node.x, y: node.y }; } suite.export(module);