5 "axisLabelColor": Color
.grayColor(),
6 "axisLineColor": Color
.blackColor(),
7 "padding": {top
: 5, bottom
: 20, left
: 40, right
: 10},
8 "backgroundColor": Color
.whiteColor(),
10 "axisLabelUseDiv": false
13 function genericTest(num
, plotStyle
) {
14 var l
= new PlotKit
.Layout(plotStyle
, {});
15 var success
= l
.addDatasetFromTable("data" + num
, $("test" + num
));
17 var c
= $("test" + num
+ "canvas");
18 var g
= new PlotKit
.SVGRenderer(c
, l
, options
);
22 function genericTestAndClear(num
, plotStyle
) {
23 var l
= new PlotKit
.Layout(plotStyle
, {});
24 l
.addDatasetFromTable("data" + num
, $("test" + num
));
26 var c
= $("test" + num
+ "canvas");
27 var g
= new PlotKit
.SVGRenderer(c
, l
, {});
32 function dualDataSet(num
, plotStyle
) {
33 var l
= new PlotKit
.Layout(plotStyle
, {});
34 l
.addDatasetFromTable("data1." + num
, $("test" + num
), 0, 1);
35 l
.addDatasetFromTable("data2." + num
, $("test" + num
), 0, 2);
37 var c
= $("test" + num
+ "canvas");
38 var g
= new PlotKit
.SVGRenderer(c
, l
, options
);
43 /* create HTML for tests */
45 function makeTableRow(list
) {
46 return TR({}, map(partial(TD
, null), list
));
49 function generateTestTable(num
, data
) {
50 var tableid
= "test" + num
;
51 var tablehead
= THEAD(null, map(makeTableRow
, [["x", "y"]]));
52 var tablebody
= TBODY(null, map(makeTableRow
, data
));
54 var table
= TABLE({"class": "data", "id": tableid
}, [tablehead
, tablebody
]);
58 function generateCanvas(num
) {
59 var canvasid
= "test" + num
+ "canvas";
68 var canvas
= PlotKit
.SVGRenderer
.SVG(canvasopts
, "");
72 function generateUnitTest(num
, func
, data
, type
, desc
) {
73 var table
= DIV({"class": "data"}, generateTestTable(num
, data
));
74 var canvas
= DIV({"class": "canvas"}, generateCanvas(num
));
75 var ending
= DIV({"class":"ending"}, desc
);
77 addLoadEvent(partial(func
, num
, type
));
79 return DIV({"class": "unit"}, [table
, canvas
, ending
]);
80 return DIV({"class": "unit"}, [table
, ending
]);
83 function generateTests() {
84 var tests
= $('tests');
87 var simpleData1
= [[0, 0], [1, 1], [2, 2], [3, 3]];
88 var simpleData2
= [[1, 2], [2, 3], [3, 4], [4, 5]];
89 var singleData
= [[1, 1]];
91 var ninety
= [[1, 9], [2, 1]];
93 var floatData1
= [[0, 0.5], [1, 0.4], [2, 0.3]];
94 var missingData
= [[0, 1], [1, 4], [3, 16], [5, 17]];
96 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]];
98 tests
.appendChild(H2(null, "Simple Tests"));
100 tests
.appendChild(generateUnitTest(1, genericTest
, simpleData1
, "bar", ""));
102 tests
.appendChild(generateUnitTest(2, genericTest
, simpleData1
,
104 tests
.appendChild(generateUnitTest(3, genericTest
, simpleData2
,
107 tests
.appendChild(H2(null, "One Value Set"));
109 tests
.appendChild(generateUnitTest(4, genericTest
, singleData
,
111 tests
.appendChild(generateUnitTest(5, genericTest
, singleData
,
113 tests
.appendChild(generateUnitTest(6, genericTest
, singleData
,
116 tests
.appendChild(H2(null, "Float Values Set"));
117 tests
.appendChild(generateUnitTest(7, genericTest
, floatData1
,
119 tests
.appendChild(generateUnitTest(8, genericTest
, floatData1
,
121 tests
.appendChild(generateUnitTest(9, genericTest
, floatData1
,
124 tests
.appendChild(H2(null, "Dual Value Set"));
125 tests
.appendChild(generateUnitTest(10, dualDataSet
, dualData
,
127 tests
.appendChild(generateUnitTest(11, dualDataSet
, dualData
,
130 tests
.appendChild(H2(null, "Drawing and Clearing"));
131 tests
.appendChild(generateUnitTest(12, genericTest
, floatData1
,
133 tests
.appendChild(generateUnitTest(13, genericTestAndClear
, floatData1
,
135 tests
.appendChild(generateUnitTest(14, genericTest
, floatData1
,
137 tests
.appendChild(generateUnitTest(15, genericTestAndClear
, floatData1
,
140 tests
.appendChild(H2(null, "Testing Circle Drawing"));
142 tests
.appendChild(generateUnitTest(16, genericTest
, ninety
,
147 addLoadEvent(generateTests
);