test tweaks to facilitate conversion
[dygraphs.git] / auto_tests / tests / data_api.js
CommitLineData
fcf37b29
DV
1/**
2 * @fileoverview Tests for data access methods.
3 *
4 * @author danvdk@gmail.com (Dan Vanderkam)
5 */
6var dataApiTestCase = TestCase("data-api");
7
319d0361
DV
8var opts, graphDiv;
9
fcf37b29
DV
10dataApiTestCase.prototype.setUp = function() {
11 document.body.innerHTML = "<div id='graph'></div>";
319d0361 12 opts = {
fcf37b29
DV
13 width: 480,
14 height: 320
15 };
16
319d0361 17 graphDiv = document.getElementById("graph");
fcf37b29
DV
18};
19
20dataApiTestCase.prototype.tearDown = function() {
21};
22
23dataApiTestCase.prototype.testBasicAccessors = function() {
319d0361 24 var g = new Dygraph(graphDiv, temperature_data, opts);
fcf37b29
DV
25
26 assertEquals(365, g.numRows());
27 assertEquals(3, g.numColumns());
28
29 // 2007-01-01,62,39
30 assertEquals(62, g.getValue(0, 1));
31 assertEquals(39, g.getValue(0, 2));
32
33 // 2007-12-31,57,42
34 assertEquals(57, g.getValue(364, 1));
35 assertEquals(42, g.getValue(364, 2));
36};
37
38
39dataApiTestCase.prototype.testAccessorsCustomBars = function() {
319d0361 40 var g = new Dygraph(graphDiv, data_temp_high_low, {
fcf37b29
DV
41 customBars: true
42 });
43
44 assertEquals(1070, g.numRows());
45 assertEquals(3, g.numColumns());
46
47 // 2007-01-01,46;51;56,43;45;48
48 assertEquals([46, 51, 56], g.getValue(0, 1));
49 assertEquals([43, 45, 48], g.getValue(0, 2));
50
51 // 2009-12-05,37;42;47 (i.e. missing second column)
52 assertEquals([37, 42, 47], g.getValue(1069, 1));
53 assertEquals([null, null, null], g.getValue(1069, 2));
54};
55
56
57// Regression test for #554.
58dataApiTestCase.prototype.testGetRowForX = function() {
319d0361 59 var g = new Dygraph(graphDiv, [
fcf37b29
DV
60 "x,y",
61 "1,2",
62 "3,4",
63 "5,6",
64 "7,8",
65 "9,10"
319d0361 66 ].join('\n'), opts);
fcf37b29
DV
67
68 assertEquals(null, g.getRowForX(0));
69 assertEquals(0, g.getRowForX(1));
70 assertEquals(null, g.getRowForX(2));
71 assertEquals(1, g.getRowForX(3));
72 assertEquals(null, g.getRowForX(4));
73 assertEquals(2, g.getRowForX(5));
74 assertEquals(null, g.getRowForX(6));
75 assertEquals(3, g.getRowForX(7));
76 assertEquals(null, g.getRowForX(8));
77 assertEquals(4, g.getRowForX(9));
78 assertEquals(null, g.getRowForX(10));
79};
80
81// If there are rows with identical x-values, getRowForX promises that it will
82// return the first one.
83dataApiTestCase.prototype.testGetRowForXDuplicates = function() {
319d0361 84 var g = new Dygraph(graphDiv, [
fcf37b29
DV
85 "x,y",
86 "1,2", // 0
87 "1,4", // 1
88 "1,6", // 2
89 "1,8", // 3
90 "1,6", // 4
91 "9,2", // 5
92 "9,4",
93 "9,6",
94 "9,8",
95 "9,10"
319d0361 96 ].join('\n'), opts);
fcf37b29
DV
97
98 assertEquals(0, g.getRowForX(1));
99 assertEquals(null, g.getRowForX(2));
100 assertEquals(5, g.getRowForX(9));
101};