Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / trace_model / counter_test.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7
8 <link rel="import" href="/tracing/test_utils.html">
9 <link rel="import" href="/tracing/trace_model/counter.html">
10 <link rel="import" href="/tracing/trace_model/counter_series.html">
11
12 <script>
13 'use strict';
14
15 tv.unittest.testSuite(function() {
16   var Counter = tracing.trace_model.Counter;
17   var CounterSeries = tracing.trace_model.CounterSeries;
18   var CounterSample = tracing.trace_model.CounterSample;
19
20   var createCounterWithTwoSeries = function() {
21     var ctr = new Counter(null, 0, '', 'myCounter');
22     var aSeries = new CounterSeries('a', 0);
23     var bSeries = new CounterSeries('b', 0);
24     ctr.addSeries(aSeries);
25     ctr.addSeries(bSeries);
26
27     aSeries.addCounterSample(0, 5);
28     aSeries.addCounterSample(1, 6);
29     aSeries.addCounterSample(2, 5);
30     aSeries.addCounterSample(3, 7);
31
32     bSeries.addCounterSample(0, 10);
33     bSeries.addCounterSample(1, 15);
34     bSeries.addCounterSample(2, 12);
35     bSeries.addCounterSample(3, 16);
36
37     return ctr;
38   };
39
40   test('getSampleStatisticsWithSingleSelection', function() {
41     var ctr = createCounterWithTwoSeries();
42     var ret = ctr.getSampleStatistics([0]);
43
44     assertEquals(5, ret[0].min);
45     assertEquals(5, ret[0].max);
46     assertEquals(5, ret[0].avg);
47     assertEquals(5, ret[0].start);
48     assertEquals(5, ret[0].end);
49
50     assertEquals(10, ret[1].min);
51     assertEquals(10, ret[1].max);
52     assertEquals(10, ret[1].avg);
53     assertEquals(10, ret[1].start);
54     assertEquals(10, ret[1].end);
55   });
56
57   test('getSampleStatisticsWithMultipleSelections', function() {
58     var ctr = createCounterWithTwoSeries();
59     var ret = ctr.getSampleStatistics([0, 1]);
60
61     assertEquals(5, ret[0].min);
62     assertEquals(6, ret[0].max);
63     assertEquals((5 + 6) / 2, ret[0].avg);
64     assertEquals(5, ret[0].start);
65     assertEquals(6, ret[0].end);
66
67     assertEquals(10, ret[1].min);
68     assertEquals(15, ret[1].max);
69     assertEquals((10 + 15) / 2, ret[1].avg);
70     assertEquals(10, ret[1].start);
71     assertEquals(15, ret[1].end);
72   });
73
74   test('getSampleStatisticsWithOutofOrderIndices', function() {
75     var ctr = createCounterWithTwoSeries();
76     var ret = ctr.getSampleStatistics([1, 0]);
77
78     assertEquals(5, ret[0].min);
79     assertEquals(6, ret[0].max);
80     assertEquals((5 + 6) / 2, ret[0].avg);
81     assertEquals(5, ret[0].start);
82     assertEquals(6, ret[0].end);
83
84     assertEquals(10, ret[1].min);
85     assertEquals(15, ret[1].max);
86     assertEquals((10 + 15) / 2, ret[1].avg);
87     assertEquals(10, ret[1].start);
88     assertEquals(15, ret[1].end);
89   });
90
91   test('getSampleStatisticsWithAllSelections', function() {
92     var ctr = createCounterWithTwoSeries();
93     var ret = ctr.getSampleStatistics([1, 0, 2, 3]);
94
95     assertEquals(5, ret[0].min);
96     assertEquals(7, ret[0].max);
97     assertEquals((5 + 6 + 5 + 7) / 4, ret[0].avg);
98     assertEquals(5, ret[0].start);
99     assertEquals(7, ret[0].end);
100
101     assertEquals(10, ret[1].min);
102     assertEquals(16, ret[1].max);
103     assertEquals((10 + 15 + 12 + 16) / 4, ret[1].avg);
104     assertEquals(10, ret[1].start);
105     assertEquals(16, ret[1].end);
106   });
107 });
108 </script>
109