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 |