Chromium Code Reviews| Index: tools/telemetry/telemetry/value/list_of_scalar_values_unittest.py |
| diff --git a/tools/telemetry/telemetry/value/list_of_scalar_values_unittest.py b/tools/telemetry/telemetry/value/list_of_scalar_values_unittest.py |
| index ead32b0f43a53f9e5f519284baaf38ae5a9b5d50..d7895a1ca52202b6cae20e4cde83c98decbdfb3a 100644 |
| --- a/tools/telemetry/telemetry/value/list_of_scalar_values_unittest.py |
| +++ b/tools/telemetry/telemetry/value/list_of_scalar_values_unittest.py |
| @@ -7,6 +7,7 @@ import unittest |
| from telemetry import value |
| from telemetry.page import page_set |
| from telemetry.value import list_of_scalar_values |
| +from telemetry.value import none_values |
| class TestBase(unittest.TestCase): |
| @@ -61,12 +62,13 @@ class ValueTest(TestBase): |
| 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
|
| page0 = self.pages[0] |
| + page1 = self.pages[1] |
| v0 = list_of_scalar_values.ListOfScalarValues( |
| page0, 'x', 'unit', |
| - [1, 2], same_page_merge_policy=value.PICK_FIRST) |
| + [1, 2], same_page_merge_policy=value.CONCATENATE) |
| v1 = list_of_scalar_values.ListOfScalarValues( |
| - page0, 'x', 'unit', |
| - [3, 4], same_page_merge_policy=value.PICK_FIRST) |
| + page1, 'x', 'unit', |
| + [3, 4], same_page_merge_policy=value.CONCATENATE) |
| self.assertTrue(v1.IsMergableWith(v0)) |
| vM = (list_of_scalar_values.ListOfScalarValues. |
| @@ -74,10 +76,39 @@ class ValueTest(TestBase): |
| self.assertEquals(None, vM.page) |
| self.assertEquals('x', vM.name) |
| self.assertEquals('unit', vM.units) |
| - self.assertEquals(value.PICK_FIRST, vM.same_page_merge_policy) |
| + self.assertEquals(value.CONCATENATE, vM.same_page_merge_policy) |
| self.assertEquals(True, vM.important) |
| self.assertEquals([1, 2, 3, 4], vM.values) |
| + def testListWithNoneValueMerging(self): |
| + page0 = self.pages[0] |
| + v0 = list_of_scalar_values.ListOfScalarValues( |
| + page0, 'x', 'unit', |
| + [1, 2], same_page_merge_policy=value.CONCATENATE) |
| + v1 = list_of_scalar_values.ListOfScalarValues( |
| + page0, 'x', 'unit', |
| + None, same_page_merge_policy=value.CONCATENATE, none_value_reason='n') |
| + self.assertTrue(v1.IsMergableWith(v0)) |
| + |
| + vM = (list_of_scalar_values.ListOfScalarValues. |
| + MergeLikeValuesFromSamePage([v0, v1])) |
| + self.assertEquals(None, vM.values) |
| + self.assertEquals(none_values.MERGE_FAILURE_REASON, |
| + vM.none_value_reason) |
| + |
| + def testListWithNoneValueMustHaveNoneReason(self): |
| + page0 = self.pages[0] |
| + self.assertRaises(none_values.NoneValueMissingReason, |
| + lambda: list_of_scalar_values.ListOfScalarValues( |
| + page0, 'x', 'unit', None)) |
| + |
| + def testListWithNoneReasonMustHaveNoneValue(self): |
| + page0 = self.pages[0] |
| + self.assertRaises(none_values.ValueMustHaveNoneValue, |
| + lambda: list_of_scalar_values.ListOfScalarValues( |
| + page0, 'x', 'unit', [1, 2], |
| + none_value_reason='n')) |
| + |
| def testAsDict(self): |
| v = list_of_scalar_values.ListOfScalarValues( |
| None, 'x', 'unit', [1, 2], |
| @@ -88,6 +119,17 @@ class ValueTest(TestBase): |
| 'values': [1, 2] |
| }) |
| + def testNoneValueAsDict(self): |
| + v = list_of_scalar_values.ListOfScalarValues( |
| + None, 'x', 'unit', None, same_page_merge_policy=value.PICK_FIRST, |
| + important=False, none_value_reason='n') |
| + d = v.AsDictWithoutBaseClassEntries() |
| + |
| + self.assertEquals(d, { |
| + 'values': None, |
| + 'none_value_reason': 'n' |
| + }) |
| + |
| def testFromDictInts(self): |
| d = { |
| 'type': 'list_of_scalar_values', |
| @@ -111,3 +153,17 @@ class ValueTest(TestBase): |
| self.assertTrue(isinstance(v, list_of_scalar_values.ListOfScalarValues)) |
| self.assertEquals(v.values, [1.3, 2.7]) |
| + |
| + def testFromDictNoneValue(self): |
| + d = { |
| + 'type': 'list_of_scalar_values', |
| + 'name': 'x', |
| + 'units': 'unit', |
| + 'values': None, |
| + 'none_value_reason': 'n' |
| + } |
| + v = value.Value.FromDict(d, {}) |
| + |
| + self.assertTrue(isinstance(v, list_of_scalar_values.ListOfScalarValues)) |
| + self.assertEquals(v.values, None) |
| + self.assertEquals(v.none_value_reason, 'n') |