| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 import os | 4 import os |
| 5 import unittest | 5 import unittest |
| 6 | 6 |
| 7 from telemetry import story | 7 from telemetry import story |
| 8 from telemetry import page as page_module | 8 from telemetry import page as page_module |
| 9 from telemetry import value | 9 from telemetry import value |
| 10 from telemetry.value import improvement_direction | 10 from telemetry.value import improvement_direction |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 self.assertTrue(v1.IsMergableWith(v0)) | 98 self.assertTrue(v1.IsMergableWith(v0)) |
| 99 | 99 |
| 100 vM = (list_of_scalar_values.ListOfScalarValues. | 100 vM = (list_of_scalar_values.ListOfScalarValues. |
| 101 MergeLikeValuesFromSamePage([v0, v1])) | 101 MergeLikeValuesFromSamePage([v0, v1])) |
| 102 self.assertEquals(page0, vM.page) | 102 self.assertEquals(page0, vM.page) |
| 103 self.assertEquals('x', vM.name) | 103 self.assertEquals('x', vM.name) |
| 104 self.assertEquals('unit', vM.units) | 104 self.assertEquals('unit', vM.units) |
| 105 self.assertEquals(value.CONCATENATE, vM.same_page_merge_policy) | 105 self.assertEquals(value.CONCATENATE, vM.same_page_merge_policy) |
| 106 self.assertEquals(True, vM.important) | 106 self.assertEquals(True, vM.important) |
| 107 self.assertEquals([10, 9, 9, 7, 300, 302, 303, 304], vM.values) | 107 self.assertEquals([10, 9, 9, 7, 300, 302, 303, 304], vM.values) |
| 108 # SQRT((19/12 * 3 + 35/12 * 3)/6) = 1.5 | 108 # Values from the same page use regular standard deviation. |
| 109 self.assertAlmostEqual(1.5, vM.std) | 109 self.assertAlmostEqual(156.88849, vM.std, places=4) |
| 110 self.assertEquals('list-based metric', vM.description) | 110 self.assertEquals('list-based metric', vM.description) |
| 111 self.assertEquals(improvement_direction.DOWN, vM.improvement_direction) | 111 self.assertEquals(improvement_direction.DOWN, vM.improvement_direction) |
| 112 | 112 |
| 113 def testListSamePageMergingWithPickFirstPolicy(self): | 113 def testListSamePageMergingWithPickFirstPolicy(self): |
| 114 page0 = self.pages[0] | 114 page0 = self.pages[0] |
| 115 v0 = list_of_scalar_values.ListOfScalarValues( | 115 v0 = list_of_scalar_values.ListOfScalarValues( |
| 116 page0, 'x', 'unit', | 116 page0, 'x', 'unit', |
| 117 [1, 2], same_page_merge_policy=value.PICK_FIRST, | 117 [1, 2], same_page_merge_policy=value.PICK_FIRST, |
| 118 improvement_direction=improvement_direction.UP) | 118 improvement_direction=improvement_direction.UP) |
| 119 v1 = list_of_scalar_values.ListOfScalarValues( | 119 v1 = list_of_scalar_values.ListOfScalarValues( |
| (...skipping 10 matching lines...) Expand all Loading... |
| 130 self.assertEquals(value.PICK_FIRST, vM.same_page_merge_policy) | 130 self.assertEquals(value.PICK_FIRST, vM.same_page_merge_policy) |
| 131 self.assertEquals(True, vM.important) | 131 self.assertEquals(True, vM.important) |
| 132 self.assertEquals([1, 2], vM.values) | 132 self.assertEquals([1, 2], vM.values) |
| 133 self.assertEquals(improvement_direction.UP, vM.improvement_direction) | 133 self.assertEquals(improvement_direction.UP, vM.improvement_direction) |
| 134 | 134 |
| 135 def testListDifferentPageMerging(self): | 135 def testListDifferentPageMerging(self): |
| 136 page0 = self.pages[0] | 136 page0 = self.pages[0] |
| 137 page1 = self.pages[1] | 137 page1 = self.pages[1] |
| 138 v0 = list_of_scalar_values.ListOfScalarValues( | 138 v0 = list_of_scalar_values.ListOfScalarValues( |
| 139 page0, 'x', 'unit', | 139 page0, 'x', 'unit', |
| 140 [1, 2], same_page_merge_policy=value.CONCATENATE, | 140 [10, 9, 9, 7], same_page_merge_policy=value.CONCATENATE, |
| 141 improvement_direction=improvement_direction.DOWN) | 141 improvement_direction=improvement_direction.DOWN) |
| 142 v1 = list_of_scalar_values.ListOfScalarValues( | 142 v1 = list_of_scalar_values.ListOfScalarValues( |
| 143 page1, 'x', 'unit', | 143 page1, 'x', 'unit', |
| 144 [3, 4], same_page_merge_policy=value.CONCATENATE, | 144 [300, 302, 303, 304], same_page_merge_policy=value.CONCATENATE, |
| 145 improvement_direction=improvement_direction.DOWN) | 145 improvement_direction=improvement_direction.DOWN) |
| 146 self.assertTrue(v1.IsMergableWith(v0)) | 146 self.assertTrue(v1.IsMergableWith(v0)) |
| 147 | 147 |
| 148 vM = (list_of_scalar_values.ListOfScalarValues. | 148 vM = (list_of_scalar_values.ListOfScalarValues. |
| 149 MergeLikeValuesFromDifferentPages([v0, v1])) | 149 MergeLikeValuesFromDifferentPages([v0, v1])) |
| 150 self.assertEquals(None, vM.page) | 150 self.assertEquals(None, vM.page) |
| 151 self.assertEquals('x', vM.name) | 151 self.assertEquals('x', vM.name) |
| 152 self.assertEquals('unit', vM.units) | 152 self.assertEquals('unit', vM.units) |
| 153 self.assertEquals(value.CONCATENATE, vM.same_page_merge_policy) | 153 self.assertEquals(value.CONCATENATE, vM.same_page_merge_policy) |
| 154 self.assertEquals(True, vM.important) | 154 self.assertEquals(True, vM.important) |
| 155 self.assertEquals([1, 2, 3, 4], vM.values) | 155 self.assertEquals([10, 9, 9, 7, 300, 302, 303, 304], vM.values) |
| 156 # Values from different pages use pooled standard deviation. |
| 157 # SQRT((19/12 * 3 + 35/12 * 3)/6) = 1.5 |
| 158 self.assertAlmostEqual(1.5, vM.std) |
| 156 self.assertEquals(improvement_direction.DOWN, vM.improvement_direction) | 159 self.assertEquals(improvement_direction.DOWN, vM.improvement_direction) |
| 157 | 160 |
| 158 def testListWithNoneValueMerging(self): | 161 def testListWithNoneValueMerging(self): |
| 159 page0 = self.pages[0] | 162 page0 = self.pages[0] |
| 160 v0 = list_of_scalar_values.ListOfScalarValues( | 163 v0 = list_of_scalar_values.ListOfScalarValues( |
| 161 page0, 'x', 'unit', | 164 page0, 'x', 'unit', |
| 162 [1, 2], same_page_merge_policy=value.CONCATENATE, | 165 [1, 2], same_page_merge_policy=value.CONCATENATE, |
| 163 improvement_direction=improvement_direction.UP) | 166 improvement_direction=improvement_direction.UP) |
| 164 v1 = list_of_scalar_values.ListOfScalarValues( | 167 v1 = list_of_scalar_values.ListOfScalarValues( |
| 165 page0, 'x', 'unit', | 168 page0, 'x', 'unit', |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 v1 = list_of_scalar_values.ListOfScalarValues( | 211 v1 = list_of_scalar_values.ListOfScalarValues( |
| 209 page0, 'x', 'unit', | 212 page0, 'x', 'unit', |
| 210 [300, 302, 303, 304], same_page_merge_policy=value.CONCATENATE, | 213 [300, 302, 303, 304], same_page_merge_policy=value.CONCATENATE, |
| 211 improvement_direction=improvement_direction.DOWN) | 214 improvement_direction=improvement_direction.DOWN) |
| 212 self.assertTrue(v1.IsMergableWith(v0)) | 215 self.assertTrue(v1.IsMergableWith(v0)) |
| 213 | 216 |
| 214 vM = (list_of_scalar_values.ListOfScalarValues. | 217 vM = (list_of_scalar_values.ListOfScalarValues. |
| 215 MergeLikeValuesFromSamePage([v0, v1])) | 218 MergeLikeValuesFromSamePage([v0, v1])) |
| 216 d = vM.AsDict() | 219 d = vM.AsDict() |
| 217 self.assertEquals(d['values'], [10, 9, 9, 7, 300, 302, 303, 304]) | 220 self.assertEquals(d['values'], [10, 9, 9, 7, 300, 302, 303, 304]) |
| 218 # SQRT((19/12 * 3 + 35/12 * 3)/6) | 221 # Values from the same page use regular standard deviation. |
| 219 self.assertAlmostEqual(d['std'], 1.5) | 222 self.assertAlmostEqual(d['std'], 156.88849, places=4) |
| 220 | 223 |
| 221 | 224 |
| 222 def testNoneValueAsDict(self): | 225 def testNoneValueAsDict(self): |
| 223 v = list_of_scalar_values.ListOfScalarValues( | 226 v = list_of_scalar_values.ListOfScalarValues( |
| 224 None, 'x', 'unit', None, same_page_merge_policy=value.PICK_FIRST, | 227 None, 'x', 'unit', None, same_page_merge_policy=value.PICK_FIRST, |
| 225 important=False, none_value_reason='n', | 228 important=False, none_value_reason='n', |
| 226 improvement_direction=improvement_direction.UP) | 229 improvement_direction=improvement_direction.UP) |
| 227 d = v.AsDictWithoutBaseClassEntries() | 230 d = v.AsDictWithoutBaseClassEntries() |
| 228 | 231 |
| 229 self.assertEquals(d, { | 232 self.assertEquals(d, { |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 'values': None, | 287 'values': None, |
| 285 'std': None, | 288 'std': None, |
| 286 'none_value_reason': 'n', | 289 'none_value_reason': 'n', |
| 287 'improvement_direction': improvement_direction.DOWN | 290 'improvement_direction': improvement_direction.DOWN |
| 288 } | 291 } |
| 289 v = value.Value.FromDict(d, {}) | 292 v = value.Value.FromDict(d, {}) |
| 290 | 293 |
| 291 self.assertTrue(isinstance(v, list_of_scalar_values.ListOfScalarValues)) | 294 self.assertTrue(isinstance(v, list_of_scalar_values.ListOfScalarValues)) |
| 292 self.assertEquals(v.values, None) | 295 self.assertEquals(v.values, None) |
| 293 self.assertEquals(v.none_value_reason, 'n') | 296 self.assertEquals(v.none_value_reason, 'n') |
| OLD | NEW |