Initial check-in
[dygraphs.git] / plotkit_v091 / tests / sweet.js
1 /* actual tests */
2
3 var opts = {
4 "enableEvents": false
5 };
6
7 function genericTest(num, plotStyle) {
8 var l = new PlotKit.Layout(plotStyle, {});
9 var success = l.addDatasetFromTable("data" + num, $("test" + num));
10 l.evaluate();
11 var c = $("test" + num + "canvas");
12 var g = new PlotKit.SweetCanvasRenderer(c, l, opts);
13 g.render();
14 }
15
16 function dualDataSet(num, plotStyle) {
17 var l = new PlotKit.Layout(plotStyle, {});
18 l.addDatasetFromTable("data1." + num, $("test" + num), 0, 1);
19 l.addDatasetFromTable("data2." + num, $("test" + num), 0, 2);
20 l.evaluate();
21 var c = $("test" + num + "canvas");
22 var g = new PlotKit.SweetCanvasRenderer(c, l, opts);
23 g.render();
24 }
25
26
27 /* create HTML for tests */
28
29 function makeTableRow(list) {
30 return TR({}, map(partial(TD, null), list));
31 }
32
33 function generateTestTable(num, data) {
34 var tableid = "test" + num;
35 var tablehead = THEAD(null, map(makeTableRow, [["x", "y"]]));
36 var tablebody = TBODY(null, map(makeTableRow, data));
37
38 var table = TABLE({"class": "data", "id": tableid}, [tablehead, tablebody]);
39 return table;
40 }
41
42 function generateCanvas(num) {
43 var canvasid = "test" + num + "canvas";
44 var canvas = CANVAS({"id":canvasid, "width": "400", "height": "200"}, "");
45 return canvas
46 }
47
48 function generateUnitTest(num, func, data, type, desc) {
49 var table = DIV({"class": "data"}, generateTestTable(num, data));
50 var canvas = DIV({"class": "canvas"}, generateCanvas(num));
51 var ending = DIV({"class":"ending"}, desc);
52
53 addLoadEvent(partial(func, num, type));
54
55 return DIV({"class": "unit"}, [table, canvas, ending]);
56
57 }
58
59 function generateTests() {
60 var tests = $('tests');
61
62 // datasets
63 var simpleData1 = [[0, 0], [1, 1], [2, 2], [3, 3]];
64 var simpleData2 = [[1, 2], [2, 3], [3, 4], [4, 5]];
65 var singleData = [[1, 1]];
66
67 var floatData1 = [[0, 0.5], [1, 0.4], [2, 0.3]];
68 var missingData = [[0, 1], [1, 4], [3, 16], [5, 17]];
69
70 var dualData = [[0,0,0], [1,2,1], [2,4,4], [3,8,9], [4,16,16], [5,32,25], [6, 64, 36], [7, 128, 49]];
71
72 tests.appendChild(H2(null, "Simple Tests"));
73
74 tests.appendChild(generateUnitTest(1, genericTest, simpleData1,
75 "bar", ""));
76 tests.appendChild(generateUnitTest(2, dualDataSet, dualData,
77 "bar", ""));
78
79 tests.appendChild(generateUnitTest(3, genericTest, simpleData1,
80 "line", ""));
81 tests.appendChild(generateUnitTest(4, dualDataSet, dualData,
82 "line", ""));
83
84 tests.appendChild(generateUnitTest(5, genericTest, simpleData1,
85 "pie", ""));
86
87 }
88
89 addLoadEvent(generateTests);