datavjs/test/tree.js
Theseue 712ae56273 add
import
2012-08-23 13:32:56 +08:00

108 lines
4.2 KiB
JavaScript

module("Tree");
test("prototype.createCanvas", function () {
var tree = new DataV.Tree("chart");
var source = { "name": "flare", "children": [
{ "name": "analytics", "children": [
{ "name": "cluster", "children": [
{"name": "AgglomerativeCluster", "size": 3938},
{"name": "CommunityStructure", "size": 3812},
{"name": "HierarchicalCluster", "size": 6714},
{"name": "MergeEdge", "size": 743}]
}]}]};
equal(tree.defaults.width, 2000, "width should get 2000");
equal(tree.defaults.height, 760, "height should get 2000");
equal(tree.defaults.deep, 180, "deep should get 180");
equal(tree.defaults.radius, 10, "radius should get 10");
tree.createCanvas();
equal(typeof tree.canvas, "object", "canvas should be an object");
equal(tree.canvas.width, 2000, "canvas width should be 2000");
equal(tree.canvas.height, 760, "canvas height should be 760");
});
test("prototype.setSource", function () {
var tree = new DataV.Tree("chart");
var source = { "name": "flare", "children": [
{ "name": "analytics", "children": [
{ "name": "cluster", "children": [
{"name": "AgglomerativeCluster", "size": 3938},
{"name": "CommunityStructure", "size": 3812},
{"name": "HierarchicalCluster", "size": 6714},
{"name": "MergeEdge", "size": 743}]
}]}]};
tree.setSource(source);
equal(typeof tree.rawData, "object", "rawData should be an object");
equal(tree.rawData, source, "rawData should be equal with source");
equal(tree.source, source, "tree.source should be equal with source");
var resource = { "name": "flare", "children": [{ "name": "analytics", "size": 743}]};
equal(typeof tree.remapSource(resource), "object", "tree.remapSource(resource) should be an object");
equal(tree.remapSource(resource), resource, "tree.remapSource(resource) be equal with resource");
});
test("prototype.layout", function () {
var tree = new DataV.Tree("chart");
var source = { "name": "flare", "children": [
{ "name": "analytics", "children": [
{ "name": "cluster", "children": [
{"name": "AgglomerativeCluster", "size": 3938},
{"name": "CommunityStructure", "size": 3812},
{"name": "HierarchicalCluster", "size": 6714},
{"name": "MergeEdge", "size": 743}]
}]}]};
tree.setSource(source);
tree.layout();
equal(typeof tree.nodes, "object", "tree.nodes should be an object");
equal(tree.nodes.length, 7, "nodes length should be 7");
equal(tree.nodes[0].name, "flare", "nodes[0]'s name should be flare");
equal(tree.nodes[0].children.length, 1, "nodes[0]'s name should be flare");
equal(tree.nodes[0].name, "flare", "nodes[0]'s name should be flare");
equal(tree.treeDepth, 3, "TreeDepth should be 3");
});
test("prototype.generatePaths", function () {
var tree = new DataV.Tree("chart");
var source = { "name": "flare", "children": [
{ "name": "analytics" }] };
tree.setSource(source);
tree.layout();
tree.generatePaths();
equal(typeof tree.nodes, "object", "tree.nodes should be an object");
equal(tree.nodes.length, 2, "nodes length should be 2");
equal(tree.nodes[0].name, "flare", "nodes[0]'s name should be flare");
equal(tree.nodes[0].children.length, 1, "num of nodes[0]'s children should be 1");
equal(tree.treeDepth, 1, "TreeDepth should be 1");
equal(tree.link_paths.length, 1, "the num of link should be 1");
equal(tree.circle_paths.length, 2, "the num of link should be 1");
equal(tree.text_paths.length, 2, "the num of link should be 1");
var source2 = { "name": "flare"};
tree.setSource(source2);
tree.layout();
tree.generatePaths();
equal(typeof tree.nodes, "object", "tree.nodes should be an object");
equal(tree.nodes.length, 1, "nodes length should be 1");
equal(tree.nodes[0].name, "flare", "nodes[0]'s name should be flare");
equal(tree.nodes[0].children, undefined, "nodes[0]'s children should be undefined");
equal(tree.treeDepth, 0, "TreeDepth should be 0");
equal(tree.link_paths.length, 0, "the num of link should be 0");
equal(tree.circle_paths.length, 1, "the num of link should be 1");
equal(tree.text_paths.length, 1, "the num of link should be 1");
});