Chromium Code Reviews| 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 value | 7 from telemetry import value |
| 8 from telemetry.page import page_set | 8 from telemetry.page import page_set |
| 9 from telemetry.value import list_of_scalar_values | 9 from telemetry.value import list_of_scalar_values |
| 10 from telemetry.value import none_values | |
| 10 | 11 |
| 11 | 12 |
| 12 class TestBase(unittest.TestCase): | 13 class TestBase(unittest.TestCase): |
| 13 def setUp(self): | 14 def setUp(self): |
| 14 self.page_set = page_set.PageSet(file_path=os.path.dirname(__file__)) | 15 self.page_set = page_set.PageSet(file_path=os.path.dirname(__file__)) |
| 15 self.page_set.AddPageWithDefaultRunNavigate("http://www.bar.com/") | 16 self.page_set.AddPageWithDefaultRunNavigate("http://www.bar.com/") |
| 16 self.page_set.AddPageWithDefaultRunNavigate("http://www.baz.com/") | 17 self.page_set.AddPageWithDefaultRunNavigate("http://www.baz.com/") |
| 17 self.page_set.AddPageWithDefaultRunNavigate("http://www.foo.com/") | 18 self.page_set.AddPageWithDefaultRunNavigate("http://www.foo.com/") |
| 18 | 19 |
| 19 @property | 20 @property |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 52 | 53 |
| 53 vM = (list_of_scalar_values.ListOfScalarValues. | 54 vM = (list_of_scalar_values.ListOfScalarValues. |
| 54 MergeLikeValuesFromSamePage([v0, v1])) | 55 MergeLikeValuesFromSamePage([v0, v1])) |
| 55 self.assertEquals(page0, vM.page) | 56 self.assertEquals(page0, vM.page) |
| 56 self.assertEquals('x', vM.name) | 57 self.assertEquals('x', vM.name) |
| 57 self.assertEquals('unit', vM.units) | 58 self.assertEquals('unit', vM.units) |
| 58 self.assertEquals(value.PICK_FIRST, vM.same_page_merge_policy) | 59 self.assertEquals(value.PICK_FIRST, vM.same_page_merge_policy) |
| 59 self.assertEquals(True, vM.important) | 60 self.assertEquals(True, vM.important) |
| 60 self.assertEquals([1, 2], vM.values) | 61 self.assertEquals([1, 2], vM.values) |
| 61 | 62 |
| 62 def testListDifferentPageMerging(self): | 63 def testListDifferentPageMerging(self): |
|
nednguyen
2014/08/18 06:54:57
Can you add testListSamePageMerging do we don't lo
ariblue
2014/08/18 17:56:45
There are already the following tests:
* testListS
| |
| 63 page0 = self.pages[0] | 64 page0 = self.pages[0] |
| 65 page1 = self.pages[1] | |
| 64 v0 = list_of_scalar_values.ListOfScalarValues( | 66 v0 = list_of_scalar_values.ListOfScalarValues( |
| 65 page0, 'x', 'unit', | 67 page0, 'x', 'unit', |
| 66 [1, 2], same_page_merge_policy=value.PICK_FIRST) | 68 [1, 2], same_page_merge_policy=value.CONCATENATE) |
| 67 v1 = list_of_scalar_values.ListOfScalarValues( | 69 v1 = list_of_scalar_values.ListOfScalarValues( |
| 68 page0, 'x', 'unit', | 70 page1, 'x', 'unit', |
| 69 [3, 4], same_page_merge_policy=value.PICK_FIRST) | 71 [3, 4], same_page_merge_policy=value.CONCATENATE) |
| 70 self.assertTrue(v1.IsMergableWith(v0)) | 72 self.assertTrue(v1.IsMergableWith(v0)) |
| 71 | 73 |
| 72 vM = (list_of_scalar_values.ListOfScalarValues. | 74 vM = (list_of_scalar_values.ListOfScalarValues. |
| 73 MergeLikeValuesFromDifferentPages([v0, v1])) | 75 MergeLikeValuesFromDifferentPages([v0, v1])) |
| 74 self.assertEquals(None, vM.page) | 76 self.assertEquals(None, vM.page) |
| 75 self.assertEquals('x', vM.name) | 77 self.assertEquals('x', vM.name) |
| 76 self.assertEquals('unit', vM.units) | 78 self.assertEquals('unit', vM.units) |
| 77 self.assertEquals(value.PICK_FIRST, vM.same_page_merge_policy) | 79 self.assertEquals(value.CONCATENATE, vM.same_page_merge_policy) |
| 78 self.assertEquals(True, vM.important) | 80 self.assertEquals(True, vM.important) |
| 79 self.assertEquals([1, 2, 3, 4], vM.values) | 81 self.assertEquals([1, 2, 3, 4], vM.values) |
| 80 | 82 |
| 83 def testListWithNoneValueMerging(self): | |
| 84 page0 = self.pages[0] | |
| 85 v0 = list_of_scalar_values.ListOfScalarValues( | |
| 86 page0, 'x', 'unit', | |
| 87 [1, 2], same_page_merge_policy=value.CONCATENATE) | |
| 88 v1 = list_of_scalar_values.ListOfScalarValues( | |
| 89 page0, 'x', 'unit', | |
| 90 None, same_page_merge_policy=value.CONCATENATE, none_value_reason='n') | |
| 91 self.assertTrue(v1.IsMergableWith(v0)) | |
| 92 | |
| 93 vM = (list_of_scalar_values.ListOfScalarValues. | |
| 94 MergeLikeValuesFromSamePage([v0, v1])) | |
| 95 self.assertEquals(None, vM.values) | |
| 96 self.assertEquals(none_values.MERGE_FAILURE_REASON, | |
| 97 vM.none_value_reason) | |
| 98 | |
| 99 def testListWithNoneValueMustHaveNoneReason(self): | |
| 100 page0 = self.pages[0] | |
| 101 self.assertRaises(none_values.NoneValueMissingReason, | |
| 102 lambda: list_of_scalar_values.ListOfScalarValues( | |
| 103 page0, 'x', 'unit', None)) | |
| 104 | |
| 105 def testListWithNoneReasonMustHaveNoneValue(self): | |
| 106 page0 = self.pages[0] | |
| 107 self.assertRaises(none_values.ValueMustHaveNoneValue, | |
| 108 lambda: list_of_scalar_values.ListOfScalarValues( | |
| 109 page0, 'x', 'unit', [1, 2], | |
| 110 none_value_reason='n')) | |
| 111 | |
| 81 def testAsDict(self): | 112 def testAsDict(self): |
| 82 v = list_of_scalar_values.ListOfScalarValues( | 113 v = list_of_scalar_values.ListOfScalarValues( |
| 83 None, 'x', 'unit', [1, 2], | 114 None, 'x', 'unit', [1, 2], |
| 84 same_page_merge_policy=value.PICK_FIRST, important=False) | 115 same_page_merge_policy=value.PICK_FIRST, important=False) |
| 85 d = v.AsDictWithoutBaseClassEntries() | 116 d = v.AsDictWithoutBaseClassEntries() |
| 86 | 117 |
| 87 self.assertEquals(d, { | 118 self.assertEquals(d, { |
| 88 'values': [1, 2] | 119 'values': [1, 2] |
| 89 }) | 120 }) |
| 90 | 121 |
| 122 def testNoneValueAsDict(self): | |
| 123 v = list_of_scalar_values.ListOfScalarValues( | |
| 124 None, 'x', 'unit', None, same_page_merge_policy=value.PICK_FIRST, | |
| 125 important=False, none_value_reason='n') | |
| 126 d = v.AsDictWithoutBaseClassEntries() | |
| 127 | |
| 128 self.assertEquals(d, { | |
| 129 'values': None, | |
| 130 'none_value_reason': 'n' | |
| 131 }) | |
| 132 | |
| 91 def testFromDictInts(self): | 133 def testFromDictInts(self): |
| 92 d = { | 134 d = { |
| 93 'type': 'list_of_scalar_values', | 135 'type': 'list_of_scalar_values', |
| 94 'name': 'x', | 136 'name': 'x', |
| 95 'units': 'unit', | 137 'units': 'unit', |
| 96 'values': [1, 2] | 138 'values': [1, 2] |
| 97 } | 139 } |
| 98 v = value.Value.FromDict(d, {}) | 140 v = value.Value.FromDict(d, {}) |
| 99 | 141 |
| 100 self.assertTrue(isinstance(v, list_of_scalar_values.ListOfScalarValues)) | 142 self.assertTrue(isinstance(v, list_of_scalar_values.ListOfScalarValues)) |
| 101 self.assertEquals(v.values, [1, 2]) | 143 self.assertEquals(v.values, [1, 2]) |
| 102 | 144 |
| 103 def testFromDictFloats(self): | 145 def testFromDictFloats(self): |
| 104 d = { | 146 d = { |
| 105 'type': 'list_of_scalar_values', | 147 'type': 'list_of_scalar_values', |
| 106 'name': 'x', | 148 'name': 'x', |
| 107 'units': 'unit', | 149 'units': 'unit', |
| 108 'values': [1.3, 2.7] | 150 'values': [1.3, 2.7] |
| 109 } | 151 } |
| 110 v = value.Value.FromDict(d, {}) | 152 v = value.Value.FromDict(d, {}) |
| 111 | 153 |
| 112 self.assertTrue(isinstance(v, list_of_scalar_values.ListOfScalarValues)) | 154 self.assertTrue(isinstance(v, list_of_scalar_values.ListOfScalarValues)) |
| 113 self.assertEquals(v.values, [1.3, 2.7]) | 155 self.assertEquals(v.values, [1.3, 2.7]) |
| 156 | |
| 157 def testFromDictNoneValue(self): | |
| 158 d = { | |
| 159 'type': 'list_of_scalar_values', | |
| 160 'name': 'x', | |
| 161 'units': 'unit', | |
| 162 'values': None, | |
| 163 'none_value_reason': 'n' | |
| 164 } | |
| 165 v = value.Value.FromDict(d, {}) | |
| 166 | |
| 167 self.assertTrue(isinstance(v, list_of_scalar_values.ListOfScalarValues)) | |
| 168 self.assertEquals(v.values, None) | |
| 169 self.assertEquals(v.none_value_reason, 'n') | |
| OLD | NEW |