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

Unified Diff: tools/telemetry/telemetry/value/list_of_scalar_values_unittest.py

Issue 475503004: Support None value for telemetry values. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: split out smoothness/rendering_stats changes Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
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')

Powered by Google App Engine
This is Rietveld 408576698