Commit | Line | Data |
---|---|---|
6a1aa64f DV |
1 | /* actual tests */ |
2 | ||
3 | var options = { | |
4 | "axisLabelUseDiv": false | |
5 | }; | |
6 | MochiKit.Base.update(options, PlotKit.Base.officeBlue()); | |
7 | ||
8 | ||
9 | function genericTest(num, plotStyle) { | |
10 | var l = new PlotKit.Layout(plotStyle, {}); | |
11 | var success = l.addDatasetFromTable("data" + num, $("test" + num)); | |
12 | l.evaluate(); | |
13 | var c = $("test" + num + "canvas"); | |
14 | var g = new PlotKit.SweetSVGRenderer(c, l, options); | |
15 | g.render(); | |
16 | } | |
17 | ||
18 | function genericTestAndClear(num, plotStyle) { | |
19 | var l = new PlotKit.Layout(plotStyle, {}); | |
20 | l.addDatasetFromTable("data" + num, $("test" + num)); | |
21 | l.evaluate(); | |
22 | var c = $("test" + num + "canvas"); | |
23 | var g = new PlotKit.SweetSVGRenderer(c, l, options); | |
24 | g.render(); | |
25 | g.clear(); | |
26 | } | |
27 | ||
28 | function dualDataSet(num, plotStyle) { | |
29 | var l = new PlotKit.Layout(plotStyle, {}); | |
30 | l.addDatasetFromTable("data1." + num, $("test" + num), 0, 1); | |
31 | l.addDatasetFromTable("data2." + num, $("test" + num), 0, 2); | |
32 | l.evaluate(); | |
33 | var c = $("test" + num + "canvas"); | |
34 | var g = new PlotKit.SweetSVGRenderer(c, l, options); | |
35 | g.render(); | |
36 | } | |
37 | ||
38 | ||
39 | /* create HTML for tests */ | |
40 | ||
41 | function makeTableRow(list) { | |
42 | return TR({}, map(partial(TD, null), list)); | |
43 | } | |
44 | ||
45 | function generateTestTable(num, data) { | |
46 | var tableid = "test" + num; | |
47 | var tablehead = THEAD(null, map(makeTableRow, [["x", "y"]])); | |
48 | var tablebody = TBODY(null, map(makeTableRow, data)); | |
49 | ||
50 | var table = TABLE({"class": "data", "id": tableid}, [tablehead, tablebody]); | |
51 | return table; | |
52 | } | |
53 | ||
54 | function generateCanvas(num) { | |
55 | var canvasid = "test" + num + "canvas"; | |
56 | var canvasopts = { | |
57 | "id": canvasid, | |
58 | "width": 400, | |
59 | "height": 200, | |
60 | "version": "1.1", | |
61 | "baseProfile": "full" | |
62 | }; | |
63 | ||
64 | var canvas = PlotKit.SVGRenderer.SVG(canvasopts, ""); | |
65 | return canvas | |
66 | } | |
67 | ||
68 | function generateUnitTest(num, func, data, type, desc) { | |
69 | var table = DIV({"class": "data"}, generateTestTable(num, data)); | |
70 | var canvas = DIV({"class": "canvas"}, generateCanvas(num)); | |
71 | var ending = DIV({"class":"ending"}, desc); | |
72 | ||
73 | addLoadEvent(partial(func, num, type)); | |
74 | ||
75 | return DIV({"class": "unit"}, [table, canvas, ending]); | |
76 | return DIV({"class": "unit"}, [table, ending]); | |
77 | } | |
78 | ||
79 | function generateTests() { | |
80 | var tests = $('tests'); | |
81 | ||
82 | // datasets | |
83 | var simpleData1 = [[0, 0], [1, 1], [2, 2], [3, 3]]; | |
84 | var simpleData2 = [[1, 2], [2, 3], [3, 4], [4, 5]]; | |
85 | var singleData = [[1, 1]]; | |
86 | ||
87 | var ninety = [[1, 9], [2, 1]]; | |
88 | ||
89 | var floatData1 = [[0, 0.5], [1, 0.4], [2, 0.3]]; | |
90 | var missingData = [[0, 1], [1, 4], [3, 16], [5, 17]]; | |
91 | ||
92 | 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]]; | |
93 | ||
94 | tests.appendChild(H2(null, "Simple Tests")); | |
95 | ||
96 | tests.appendChild(generateUnitTest(1, genericTest, simpleData1, "bar", "")); | |
97 | tests.appendChild(generateUnitTest(2, genericTest, simpleData1, | |
98 | "line", "")); | |
99 | tests.appendChild(generateUnitTest(3, genericTest, simpleData2, | |
100 | "pie", "")); | |
101 | ||
102 | tests.appendChild(H2(null, "One Value Set")); | |
103 | ||
104 | tests.appendChild(generateUnitTest(4, genericTest, singleData, | |
105 | "bar", "")); | |
106 | tests.appendChild(generateUnitTest(5, genericTest, singleData, | |
107 | "line", "")); | |
108 | tests.appendChild(generateUnitTest(6, genericTest, singleData, | |
109 | "pie", "")); | |
110 | ||
111 | tests.appendChild(H2(null, "Float Values Set")); | |
112 | tests.appendChild(generateUnitTest(7, genericTest, floatData1, | |
113 | "bar", "")); | |
114 | tests.appendChild(generateUnitTest(8, genericTest, floatData1, | |
115 | "line", "")); | |
116 | tests.appendChild(generateUnitTest(9, genericTest, floatData1, | |
117 | "pie", "")); | |
118 | ||
119 | tests.appendChild(H2(null, "Dual Value Set")); | |
120 | tests.appendChild(generateUnitTest(10, dualDataSet, dualData, | |
121 | "bar", "")); | |
122 | tests.appendChild(generateUnitTest(11, dualDataSet, dualData, | |
123 | "line", "")); | |
124 | ||
125 | tests.appendChild(H2(null, "Drawing and Clearing")); | |
126 | tests.appendChild(generateUnitTest(12, genericTest, floatData1, | |
127 | "bar", "")); | |
128 | tests.appendChild(generateUnitTest(13, genericTestAndClear, floatData1, | |
129 | "bar", "")); | |
130 | tests.appendChild(generateUnitTest(14, genericTest, floatData1, | |
131 | "pie", "")); | |
132 | tests.appendChild(generateUnitTest(15, genericTestAndClear, floatData1, | |
133 | "pie", "")); | |
134 | ||
135 | tests.appendChild(H2(null, "Testing Circle Drawing")); | |
136 | ||
137 | tests.appendChild(generateUnitTest(16, genericTest, ninety, | |
138 | "pie", "")); | |
139 | } | |
140 | ||
141 | addLoadEvent(generateTests); |