• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2<!--
3Copyright (c) 2015 The Chromium Authors. All rights reserved.
4Use of this source code is governed by a BSD-style license that can be
5found in the LICENSE file.
6-->
7
8<link rel="import" href="/model/device.html">
9<link rel="import" href="/model/model.html">
10<link rel="import" href="/model/power_series.html">
11
12<script>
13'use strict';
14
15tr.b.unittest.testSuite(function() {
16
17  var Model = tr.Model;
18  var PowerSeries = tr.model.PowerSeries;
19
20  test('stableId', function() {
21    var device = { stableId: 'test' };
22    var series = new PowerSeries(device);
23
24    assert.equal(series.stableId, 'test.PowerSeries');
25  });
26
27  test('device', function() {
28    var device = new tr.model.Device(new Model());
29    var series = new PowerSeries(device);
30
31    assert.equal(series.device, device);
32  });
33
34  test('addPowerSample', function() {
35    var series = new PowerSeries(new Model().device);
36
37    assert.equal(series.samples.length, 0);
38
39    var sample1 = series.addPowerSample(0, 1000);
40    var sample2 = series.addPowerSample(1, 2000);
41
42    assert.deepEqual(series.samples, [sample1, sample2]);
43  });
44
45  test('shiftTimestampsForward', function() {
46    var series = new PowerSeries(new Model().device);
47
48    series.addPowerSample(0, 1000);
49    series.addPowerSample(1, 2000);
50
51    series.shiftTimestampsForward(2);
52
53    assert.equal(series.samples[0].start, 2);
54    assert.equal(series.samples[1].start, 3);
55
56    series.shiftTimestampsForward(-4);
57
58    assert.equal(series.samples[0].start, -2);
59    assert.equal(series.samples[1].start, -1);
60  });
61
62
63  test('updateBounds', function() {
64    var series = new PowerSeries(new Model().device);
65
66    series.addPowerSample(0, 1000);
67    series.addPowerSample(1, 2000);
68    series.updateBounds();
69
70    assert.equal(series.bounds.min, 0);
71    assert.equal(series.bounds.max, 1);
72
73    series.addPowerSample(4, 3000);
74    series.updateBounds();
75
76    assert.equal(series.bounds.min, 0);
77    assert.equal(series.bounds.max, 4);
78  });
79
80  test('iterateAllEventsInThisContainer', function() {
81    var series = new PowerSeries(new Model().device);
82
83    var eventsInSeries = [];
84    series.iterateAllEventsInThisContainer(
85        function() { return true; },
86        function(event) {
87          eventsInSeries.push(event);
88        });
89
90    assert.deepEqual(eventsInSeries, []);
91
92    var sample1 = series.addPowerSample(0, 1000);
93    var sample2 = series.addPowerSample(1, 2000);
94
95    eventsInSeries = [];
96    series.iterateAllEventsInThisContainer(
97        function() { return true; },
98        function(event) {
99          eventsInSeries.push(event);
100        });
101
102    assert.deepEqual(eventsInSeries, [sample1, sample2]);
103  });
104});
105</script>
106