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

Side by Side Diff: tools/telemetry/telemetry/value/merge_values_unittest.py

Issue 83813003: Cleanup of page_measurement_results object (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 import os
5 import unittest
6
7 from telemetry.page import page_set
8 from telemetry.value import merge_values
9 from telemetry.value.list_of_scalar_values import ListOfScalarValues
10 from telemetry.value.scalar import ScalarValue
11
12 class TestBase(unittest.TestCase):
13 def setUp(self):
14 self.page_set = page_set.PageSet.FromDict({
15 "description": "hello",
16 "archive_path": "foo.wpr",
17 "pages": [
18 {"url": "http://www.bar.com/"},
19 {"url": "http://www.baz.com/"},
20 {"url": "http://www.foo.com/"}
21 ]
22 }, os.path.dirname(__file__))
23
24 @property
25 def pages(self):
26 return self.page_set.pages
27
28 class MergeValueTest(TestBase):
29 def testSamePageMergeBasic(self):
30 page0 = self.pages[0]
31 page1 = self.pages[1]
32
33 all_values = [ScalarValue(page0, 'x', 'units', 1),
34 ScalarValue(page1, 'x', 'units', 4),
35 ScalarValue(page0, 'x', 'units', 2),
36 ScalarValue(page1, 'x', 'units', 5)]
37
38 merged_values = merge_values.MergeLikeValuesFromSamePage(all_values)
39 # Sort the results so that their order is predictable for the subsequent
40 # assertions.
41 merged_values.sort(key=lambda x: x.page.url)
42
43 self.assertEquals(2, len(merged_values))
44
45 self.assertEquals((page0, 'x'),
46 (merged_values[0].page, merged_values[0].name))
47 self.assertEquals([1, 2], merged_values[0].values)
48
49 self.assertEquals((page1, 'x'),
50 (merged_values[1].page, merged_values[1].name))
51 self.assertEquals([4, 5], merged_values[1].values)
52
53 def testSamePageMergeOneValue(self):
54 page0 = self.pages[0]
55
56 all_values = [ScalarValue(page0, 'x', 'units', 1)]
57
58 # Sort the results so that their order is predictable for the subsequent
59 # assertions.
60 merged_values = merge_values.MergeLikeValuesFromSamePage(all_values)
61 self.assertEquals(1, len(merged_values))
62 self.assertEquals(all_values[0].name, merged_values[0].name)
63 self.assertEquals(all_values[0].units, merged_values[0].units)
64
65 def testDifferentPageMergeBasic(self):
66 page0 = self.pages[0]
67 page1 = self.pages[1]
68
69 all_values = [ScalarValue(page0, 'x', 'units', 1),
70 ScalarValue(page1, 'x', 'units', 2),
71 ScalarValue(page0, 'y', 'units', 10),
72 ScalarValue(page1, 'y', 'units', 20)]
73
74 # Sort the results so that their order is predictable for the subsequent
75 # assertions.
76 merged_values = merge_values.MergeLikeValuesFromDifferentPages(all_values)
77 merged_values.sort(key=lambda x: x.name)
78 self.assertEquals(2, len(merged_values))
79
80 self.assertEquals((None, 'x'),
81 (merged_values[0].page, merged_values[0].name))
82 self.assertEquals([1, 2], merged_values[0].values)
83
84 self.assertEquals((None, 'y'),
85 (merged_values[1].page, merged_values[1].name))
86 self.assertEquals([10, 20], merged_values[1].values)
87
88 def testDifferentPageMergeSingleValueStillMerges(self):
89 page0 = self.pages[0]
90
91 all_values = [ScalarValue(page0, 'x', 'units', 1)]
92
93 # Sort the results so that their order is predictable for the subsequent
94 # assertions.
95 merged_values = merge_values.MergeLikeValuesFromDifferentPages(all_values)
96 self.assertEquals(1, len(merged_values))
97
98 self.assertEquals((None, 'x'),
99 (merged_values[0].page, merged_values[0].name))
100 self.assertTrue(isinstance(merged_values[0], ListOfScalarValues))
101 self.assertEquals([1], merged_values[0].values)
102
103 def testDifferentPageMergeBasicIgnoreTraceName(self):
104 page0 = self.pages[0]
105 page1 = self.pages[1]
106
107 all_values = [ScalarValue(page0, 'x.score', 'units', 1),
108 ScalarValue(page1, 'y.score', 'units', 2)]
109 # Sort the results so that their order is predictable for the subsequent
110 # assertions.
111 merged_values = merge_values.MergeLikeValuesFromDifferentPages(
112 all_values,
113 group_by_name_suffix=True)
114 self.assertEquals(1, len(merged_values))
115
116 self.assertEquals((None, 'score'),
117 (merged_values[0].page, merged_values[0].name))
118 self.assertEquals([1, 2], merged_values[0].values)
OLDNEW
« 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