X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Frolling_average.js;h=86b3e3c9d43d3dd69a7ae77be757c4c1a7e9fa19;hb=a49c164ae4b251553a87517ef7d1dc57f3f2ad4c;hp=c0af8f94c365d556a678d9e907dad68ec71c6933;hpb=06682812a5dee4f35ff02be8fab630ca722edc81;p=dygraphs.git diff --git a/auto_tests/tests/rolling_average.js b/auto_tests/tests/rolling_average.js index c0af8f9..86b3e3c 100644 --- a/auto_tests/tests/rolling_average.js +++ b/auto_tests/tests/rolling_average.js @@ -87,16 +87,150 @@ rollingAverageTestCase.prototype.testRollShortFractions = function() { customBars: true, labels: ['x', 'A'] }; - var data1 = [ [1, [1, 10, 20]] ]; - var data2 = [ [1, [1, 10, 20]], - [2, [1, 20, 30]], + var data1 = [ [1, 10, [1, 20]] ]; + var data2 = [ [1, 10, [1, 20]], + [2, 20, [1, 30]], ]; var graph = document.getElementById("graph"); - var g = new Dygraph(graph, data1, opts); + var g = new Dygraph(graph, data2, opts); - var rolled1 = g.rollingAverage(data1, 1); - var rolled2 = g.rollingAverage(data2, 1); + var rolled1 = g.dataHandler_.rollingAverage(data1, 1, g); + var rolled2 = g.dataHandler_.rollingAverage(data2, 1, g); assertEquals(rolled1[0], rolled2[0]); }; + +rollingAverageTestCase.prototype.testRollCustomBars = function() { + var opts = { + customBars: true, + rollPeriod: 2, + labels: ['x', 'A'] + }; + var data = [ [1, [1, 10, 20]], + [2, [1, 20, 30]], + [3, [1, 30, 40]], + [4, [1, 40, 50]] + ]; + + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, data, opts); + var rolled = this.getRolledData(g, data, 1, 2); + assertEquals([1, 10, [1, 20]], rolled[0]); + assertEquals([2, 15, [1, 25]], rolled[1]); + assertEquals([3, 25, [1, 35]], rolled[2]); + assertEquals([4, 35, [1, 45]], rolled[3]); +}; + +rollingAverageTestCase.prototype.testRollErrorBars = function() { + var opts = { + errorBars: true, + rollPeriod: 2, + labels: ['x', 'A'] + }; + var data = [ [1, [10, 1]], + [2, [20, 1]], + [3, [30, 1]], + [4, [40, 1]] + ]; + + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, data, opts); + var rolled = this.getRolledData(g, data, 1, 2); + assertEquals([1, 10, [8, 12]], rolled[0]); + + // variance = sqrt( pow(error) * rollPeriod) + var variance = Math.sqrt(2); + for (var i=1;i