Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(492)

Side by Side Diff: tracing/tracing/base/math/range_utils_test.html

Issue 2771723003: [tracing] Move math utilities from base into their own subdirectory (attempt 2) (Closed)
Patch Set: rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tracing/tracing/base/math/range_utils.html ('k') | tracing/tracing/base/math/rect.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- 2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved. 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 4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file. 5 found in the LICENSE file.
6 --> 6 -->
7 7
8 <link rel="import" href="/tracing/base/range_utils.html"> 8 <link rel="import" href="/tracing/base/math/range_utils.html">
9 <link rel="import" href="/tracing/core/test_utils.html"> 9 <link rel="import" href="/tracing/core/test_utils.html">
10 10
11 <script> 11 <script>
12 'use strict'; 12 'use strict';
13 13
14 tr.b.unittest.testSuite(function() { 14 tr.b.unittest.testSuite(function() {
15 function simpleMerger(events) { 15 function simpleMerger(events) {
16 return { 16 return {
17 min: events[0].min, 17 min: events[0].min,
18 max: events[events.length - 1].max 18 max: events[events.length - 1].max
19 }; 19 };
20 } 20 }
21 test('simple', function() { 21 test('simple', function() {
22 var inEvents = [ 22 var inEvents = [
23 {min: 0, max: 100}, 23 {min: 0, max: 100},
24 {min: 100, max: 120}, 24 {min: 100, max: 120},
25 {min: 200, max: 220} 25 {min: 200, max: 220}
26 ]; 26 ];
27 27
28 var merged = tr.b.mergeRanges(inEvents, 50, simpleMerger); 28 var merged = tr.b.math.mergeRanges(inEvents, 50, simpleMerger);
29 29
30 assert.equal(merged.length, 2); 30 assert.equal(merged.length, 2);
31 assert.deepEqual(merged[0], {min: 0, max: 120}); 31 assert.deepEqual(merged[0], {min: 0, max: 120});
32 assert.deepEqual(merged[1], {min: 200, max: 220}); 32 assert.deepEqual(merged[1], {min: 200, max: 220});
33 }); 33 });
34 34
35 test('overlapping', function() { 35 test('overlapping', function() {
36 var inEvents = [ 36 var inEvents = [
37 {min: 0, max: 100}, 37 {min: 0, max: 100},
38 {min: 80, max: 120}, 38 {min: 80, max: 120},
39 {min: 200, max: 220} 39 {min: 200, max: 220}
40 ]; 40 ];
41 41
42 var merged = tr.b.mergeRanges(inEvents, 50, simpleMerger); 42 var merged = tr.b.math.mergeRanges(inEvents, 50, simpleMerger);
43 43
44 assert.equal(merged.length, 2); 44 assert.equal(merged.length, 2);
45 assert.deepEqual(merged[0], {min: 0, max: 120}); 45 assert.deepEqual(merged[0], {min: 0, max: 120});
46 assert.deepEqual(merged[1], {min: 200, max: 220}); 46 assert.deepEqual(merged[1], {min: 200, max: 220});
47 }); 47 });
48 48
49 test('middleOneIsSmall', function() { 49 test('middleOneIsSmall', function() {
50 var inEvents = [ 50 var inEvents = [
51 {min: 0, max: 100}, 51 {min: 0, max: 100},
52 {min: 40, max: 50}, 52 {min: 40, max: 50},
53 {min: 100, max: 120} 53 {min: 100, max: 120}
54 ]; 54 ];
55 55
56 var merged = tr.b.mergeRanges(inEvents, 50, simpleMerger); 56 var merged = tr.b.math.mergeRanges(inEvents, 50, simpleMerger);
57 57
58 assert.equal(merged.length, 1); 58 assert.equal(merged.length, 1);
59 assert.deepEqual(merged[0], {min: 0, max: 120}); 59 assert.deepEqual(merged[0], {min: 0, max: 120});
60 }); 60 });
61 61
62 test('firstEventIsSplitPoint', function() { 62 test('firstEventIsSplitPoint', function() {
63 var inEvents = [ 63 var inEvents = [
64 {min: 0, max: 100}, 64 {min: 0, max: 100},
65 {min: 150, max: 200} 65 {min: 150, max: 200}
66 ]; 66 ];
67 67
68 var merged = tr.b.mergeRanges(inEvents, 25, simpleMerger); 68 var merged = tr.b.math.mergeRanges(inEvents, 25, simpleMerger);
69 69
70 assert.equal(merged.length, 2); 70 assert.equal(merged.length, 2);
71 assert.deepEqual(merged[0], {min: 0, max: 100}); 71 assert.deepEqual(merged[0], {min: 0, max: 100});
72 assert.deepEqual(merged[1], {min: 150, max: 200}); 72 assert.deepEqual(merged[1], {min: 150, max: 200});
73 }); 73 });
74 74
75 test('mergeSingleEvent', function() { 75 test('mergeSingleEvent', function() {
76 var inEvents = [ 76 var inEvents = [
77 {min: 0, max: 100} 77 {min: 0, max: 100}
78 ]; 78 ];
79 79
80 var mergeCount = 0; 80 var mergeCount = 0;
81 tr.b.mergeRanges(inEvents, 25, function(events) { 81 tr.b.math.mergeRanges(inEvents, 25, function(events) {
82 assert.deepEqual(events, inEvents); 82 assert.deepEqual(events, inEvents);
83 mergeCount++; 83 mergeCount++;
84 }); 84 });
85 assert.equal(mergeCount, 1); 85 assert.equal(mergeCount, 1);
86 }); 86 });
87 87
88 test('zeroDurationSplit', function() { 88 test('zeroDurationSplit', function() {
89 var inEvents = [0, 10, 20, 50, 60]; 89 var inEvents = [0, 10, 20, 50, 60];
90 inEvents = inEvents.map(function(event) { 90 inEvents = inEvents.map(function(event) {
91 return tr.b.Range.fromExplicitRange(event, event); 91 return tr.b.math.Range.fromExplicitRange(event, event);
92 }); 92 });
93 var timestampMerger = function(timestamps) { 93 var timestampMerger = function(timestamps) {
94 return { 94 return {
95 min: timestamps[0].min, 95 min: timestamps[0].min,
96 max: timestamps[timestamps.length - 1].max 96 max: timestamps[timestamps.length - 1].max
97 }; 97 };
98 }; 98 };
99 var merged = tr.b.mergeRanges(inEvents, 15, timestampMerger); 99 var merged = tr.b.math.mergeRanges(inEvents, 15, timestampMerger);
100 assert.equal(merged.length, 2); 100 assert.equal(merged.length, 2);
101 assert.deepEqual(merged[0], {min: 0, max: 20}); 101 assert.deepEqual(merged[0], {min: 0, max: 20});
102 assert.deepEqual(merged[1], {min: 50, max: 60}); 102 assert.deepEqual(merged[1], {min: 50, max: 60});
103 }); 103 });
104 104
105 test('findEmptyRangesBetweenRanges', function() { 105 test('findEmptyRangesBetweenRanges', function() {
106 var events = [ 106 var events = [
107 {min: 2, max: 4}, 107 {min: 2, max: 4},
108 {min: 1, max: 3}, 108 {min: 1, max: 3},
109 {min: 6, max: 8} 109 {min: 6, max: 8}
110 ]; 110 ];
111 var ranges = tr.b.findEmptyRangesBetweenRanges( 111 var ranges = tr.b.math.findEmptyRangesBetweenRanges(
112 events, {min: 0, max: 10}); 112 events, {min: 0, max: 10});
113 assert.equal(3, ranges.length); 113 assert.equal(3, ranges.length);
114 assert.equal(0, ranges[0].min); 114 assert.equal(0, ranges[0].min);
115 assert.equal(1, ranges[0].max); 115 assert.equal(1, ranges[0].max);
116 assert.equal(4, ranges[1].min); 116 assert.equal(4, ranges[1].min);
117 assert.equal(6, ranges[1].max); 117 assert.equal(6, ranges[1].max);
118 assert.equal(8, ranges[2].min); 118 assert.equal(8, ranges[2].min);
119 assert.equal(10, ranges[2].max); 119 assert.equal(10, ranges[2].max);
120 }); 120 });
121 121
122 test('findEmptyRangesWithEmptyInput', function() { 122 test('findEmptyRangesWithEmptyInput', function() {
123 var ranges = tr.b.findEmptyRangesBetweenRanges( 123 var ranges = tr.b.math.findEmptyRangesBetweenRanges(
124 [], {min: 0, max: 10}); 124 [], {min: 0, max: 10});
125 assert.equal(1, ranges.length); 125 assert.equal(1, ranges.length);
126 assert.equal(0, ranges[0].min); 126 assert.equal(0, ranges[0].min);
127 assert.equal(10, ranges[0].max); 127 assert.equal(10, ranges[0].max);
128 128
129 ranges = tr.b.findEmptyRangesBetweenRanges([]); 129 ranges = tr.b.math.findEmptyRangesBetweenRanges([]);
130 assert.equal(0, ranges.length); 130 assert.equal(0, ranges.length);
131 }); 131 });
132 }); 132 });
133 </script> 133 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/base/math/range_utils.html ('k') | tracing/tracing/base/math/rect.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698