| 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); |