6ab5b447d4
very important function.
159 lines
2.8 KiB
HTML
159 lines
2.8 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
|
|
<link href="../src/nv.d3.css" rel="stylesheet" type="text/css">
|
|
<link href="teststyle.css" rel="stylesheet" type='text/css'>
|
|
|
|
<body>
|
|
<h3>Unit tests for nv.interactiveBisect - this function is important for rendering tooltips and the guideline on charts.</h3>
|
|
<div class='navigation'>
|
|
Tests:
|
|
<a href="lineChartTest.html">Line Chart</a>
|
|
<a href="stackedAreaChartTest.html">Stacked Area</a>
|
|
<a href="../examples/cumulativeLineChart.html">Cumulative Line</a>
|
|
</div>
|
|
|
|
<script src="../lib/d3.v3.js"></script>
|
|
<script src="../nv.d3.js"></script>
|
|
<script src="../src/interactiveLayer.js"></script>
|
|
|
|
<script>
|
|
function runTest(description, dataArray, searchVal, expectedResult, xAccessor) {
|
|
var result = nv.interactiveBisect(dataArray, searchVal, xAccessor);
|
|
var content = "";
|
|
if (result === expectedResult) {
|
|
content = "PASSED: " + description;
|
|
}
|
|
else {
|
|
content = "FAILED: " + description;
|
|
}
|
|
|
|
var node = document.createElement("div");
|
|
node.innerHTML = content;
|
|
document.getElementsByTagName("body")[0].appendChild(node);
|
|
}
|
|
|
|
var x = function(d) {return d;};
|
|
|
|
runTest("Basic test",
|
|
[0,1,2,3,4,5],
|
|
3,
|
|
3,
|
|
x
|
|
);
|
|
|
|
runTest("Basic test - zero bound",
|
|
[0,1,2,3,4,5],
|
|
0,
|
|
0,
|
|
x
|
|
);
|
|
|
|
runTest("Basic test - length bound",
|
|
[0,1,2,3,4,5],
|
|
5,
|
|
5,
|
|
x
|
|
);
|
|
|
|
runTest("Basic test - negative number",
|
|
[0,1,2,3,4,5],
|
|
-4,
|
|
0,
|
|
x
|
|
);
|
|
|
|
runTest("Basic test - past the end",
|
|
[0,1,2,3,4,5],
|
|
10,
|
|
5,
|
|
x
|
|
);
|
|
|
|
runTest("Floating point number",
|
|
[0,1,2,3,4,5],
|
|
0.34,
|
|
0,
|
|
x
|
|
);
|
|
|
|
runTest("Floating point number part 2",
|
|
[0,1,2,3,4,5],
|
|
1.50001,
|
|
2,
|
|
x
|
|
);
|
|
|
|
runTest("Fibonacci - existing item search",
|
|
[0,1,1,2,3,5,8,13,21,34],
|
|
8,
|
|
6,
|
|
x
|
|
);
|
|
|
|
runTest("Fibonacci - inbetween item (left)",
|
|
[0,1,1,2,3,5,8,13,21,34],
|
|
15,
|
|
7,
|
|
x
|
|
);
|
|
|
|
runTest("Fibonacci - inbetween item (right)",
|
|
[0,1,1,2,3,5,8,13,21,34],
|
|
20,
|
|
8,
|
|
x
|
|
);
|
|
|
|
x = function(d,i) { return i};
|
|
|
|
runTest("xAccessor is index mode - existing item",
|
|
[0,1,1,2,3,5,8,13,21,34],
|
|
7,
|
|
7,
|
|
x
|
|
);
|
|
|
|
runTest("xAccessor is index mode - inbetween item",
|
|
[0,1,1,2,3,5,8,13,21,34],
|
|
7.3,
|
|
7,
|
|
x
|
|
);
|
|
|
|
runTest("xAccessor is index mode - inbetween item part 2",
|
|
[0,1,1,2,3,5,8,13,21,34],
|
|
7.500001,
|
|
8,
|
|
x
|
|
);
|
|
|
|
runTest("Empty array",
|
|
[],
|
|
4,
|
|
0,
|
|
x
|
|
);
|
|
|
|
runTest("Single element array",
|
|
[0],
|
|
0,
|
|
0,
|
|
x
|
|
);
|
|
|
|
runTest("Single element array - negative bound",
|
|
[0],
|
|
-10,
|
|
0,
|
|
x
|
|
);
|
|
|
|
runTest("Single element array - past the end",
|
|
[0],
|
|
1,
|
|
0,
|
|
x
|
|
);
|
|
</script>
|