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