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

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

Issue 27486002: Cleanup of page_measurement_results object (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: keep on trying Created 7 years, 1 month 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
« no previous file with comments | « tools/telemetry/telemetry/value/merge_values.py ('k') | tools/telemetry/telemetry/value/scalar.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/value/merge_values_unittest.py
diff --git a/tools/telemetry/telemetry/value/merge_values_unittest.py b/tools/telemetry/telemetry/value/merge_values_unittest.py
new file mode 100644
index 0000000000000000000000000000000000000000..7aec535a235ed9063d52d200ccf171b6d62a46f2
--- /dev/null
+++ b/tools/telemetry/telemetry/value/merge_values_unittest.py
@@ -0,0 +1,118 @@
+# Copyright (c) 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+import os
+import unittest
+
+from telemetry.page import page_set
+from telemetry.value import merge_values
+from telemetry.value.list_of_scalar_values import ListOfScalarValues
+from telemetry.value.scalar import ScalarValue
+
+class TestBase(unittest.TestCase):
+ def setUp(self):
+ self.page_set = page_set.PageSet.FromDict({
+ "description": "hello",
+ "archive_path": "foo.wpr",
+ "pages": [
+ {"url": "http://www.bar.com/"},
+ {"url": "http://www.baz.com/"},
+ {"url": "http://www.foo.com/"}
+ ]
+ }, os.path.dirname(__file__))
+
+ @property
+ def pages(self):
+ return self.page_set.pages
+
+class MergeValueTest(TestBase):
+ def testSamePageMergeBasic(self):
+ page0 = self.pages[0]
+ page1 = self.pages[1]
+
+ all_values = [ScalarValue(page0, 'x', 'units', 1),
+ ScalarValue(page1, 'x', 'units', 4),
+ ScalarValue(page0, 'x', 'units', 2),
+ ScalarValue(page1, 'x', 'units', 5)]
+
+ merged_values = merge_values.MergeLikeValuesFromSamePage(all_values)
+ # Sort the results so that their order is predictable for the subsequent
+ # assertions.
+ merged_values.sort(key=lambda x: x.page.url)
+
+ self.assertEquals(2, len(merged_values))
+
+ self.assertEquals((page0, 'x'),
+ (merged_values[0].page, merged_values[0].name))
+ self.assertEquals([1, 2], merged_values[0].values)
+
+ self.assertEquals((page1, 'x'),
+ (merged_values[1].page, merged_values[1].name))
+ self.assertEquals([4, 5], merged_values[1].values)
+
+ def testSamePageMergeOneValue(self):
+ page0 = self.pages[0]
+
+ all_values = [ScalarValue(page0, 'x', 'units', 1)]
+
+ # Sort the results so that their order is predictable for the subsequent
+ # assertions.
+ merged_values = merge_values.MergeLikeValuesFromSamePage(all_values)
+ self.assertEquals(1, len(merged_values))
+ self.assertEquals(all_values[0].name, merged_values[0].name)
+ self.assertEquals(all_values[0].units, merged_values[0].units)
+
+ def testDifferentPageMergeBasic(self):
+ page0 = self.pages[0]
+ page1 = self.pages[1]
+
+ all_values = [ScalarValue(page0, 'x', 'units', 1),
+ ScalarValue(page1, 'x', 'units', 2),
+ ScalarValue(page0, 'y', 'units', 10),
+ ScalarValue(page1, 'y', 'units', 20)]
+
+ # Sort the results so that their order is predictable for the subsequent
+ # assertions.
+ merged_values = merge_values.MergeLikeValuesFromDifferentPages(all_values)
+ merged_values.sort(key=lambda x: x.name)
+ self.assertEquals(2, len(merged_values))
+
+ self.assertEquals((None, 'x'),
+ (merged_values[0].page, merged_values[0].name))
+ self.assertEquals([1, 2], merged_values[0].values)
+
+ self.assertEquals((None, 'y'),
+ (merged_values[1].page, merged_values[1].name))
+ self.assertEquals([10, 20], merged_values[1].values)
+
+ def testDifferentPageMergeSingleValueStillMerges(self):
+ page0 = self.pages[0]
+
+ all_values = [ScalarValue(page0, 'x', 'units', 1)]
+
+ # Sort the results so that their order is predictable for the subsequent
+ # assertions.
+ merged_values = merge_values.MergeLikeValuesFromDifferentPages(all_values)
+ self.assertEquals(1, len(merged_values))
+
+ self.assertEquals((None, 'x'),
+ (merged_values[0].page, merged_values[0].name))
+ self.assertTrue(isinstance(merged_values[0], ListOfScalarValues))
+ self.assertEquals([1], merged_values[0].values)
+
+ def testDifferentPageMergeBasicIgnoreTraceName(self):
+ page0 = self.pages[0]
+ page1 = self.pages[1]
+
+ all_values = [ScalarValue(page0, 'x.score', 'units', 1),
+ ScalarValue(page1, 'y.score', 'units', 2)]
+ # Sort the results so that their order is predictable for the subsequent
+ # assertions.
+ merged_values = merge_values.MergeLikeValuesFromDifferentPages(
+ all_values,
+ group_by_name_suffix=True)
+ self.assertEquals(1, len(merged_values))
+
+ self.assertEquals((None, 'score'),
+ (merged_values[0].page, merged_values[0].name))
+ self.assertEquals([1, 2], merged_values[0].values)
« no previous file with comments | « tools/telemetry/telemetry/value/merge_values.py ('k') | tools/telemetry/telemetry/value/scalar.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698