1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 tvcm.require('tracing.trace_model.counter');
9 tvcm.unittest.testSuite('tracing.trace_model.counter_sample_test', function() {
10 var Counter = tracing.trace_model.Counter;
11 var CounterSeries = tracing.trace_model.CounterSeries;
12 var CounterSample = tracing.trace_model.CounterSample;
14 test('groupByTimestamp', function() {
15 var counter = new Counter();
16 var s0 = counter.addSeries(new CounterSeries('x', 0));
17 var s1 = counter.addSeries(new CounterSeries('y', 1));
19 var s0_0 = s0.addSample(0, 100);
20 var s0_1 = s1.addSample(0, 200);
21 var s1_0 = s0.addSample(1, 100);
22 var s1_1 = s1.addSample(1, 200);
24 var groups = CounterSample.groupByTimestamp([s0_1, s0_0,
26 assertEquals(2, groups.length);
27 assertArrayEquals([s0_0, s0_1], groups[0]);
28 assertArrayEquals([s1_0, s1_1], groups[1]);
32 test('getSampleIndex', function() {
33 var ctr = new Counter(null, 0, '', 'myCounter');
34 var s0 = new CounterSeries('a', 0);
37 var s0_0 = s0.addSample(0, 0);
38 var s0_1 = s0.addSample(1, 100);
39 assertEquals(0, s0_0.getSampleIndex());
40 assertEquals(1, s0_1.getSampleIndex());