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

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

Issue 1313243003: [Telemetry] Introduce SummarizableValue. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 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 unified diff | Download patch
OLDNEW
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 story 7 from telemetry import story
8 from telemetry import page as page_module 8 from telemetry import page as page_module
9 from telemetry.value import improvement_direction
9 from telemetry.value import list_of_scalar_values 10 from telemetry.value import list_of_scalar_values
10 from telemetry.value import merge_values 11 from telemetry.value import merge_values
11 from telemetry.value import scalar 12 from telemetry.value import scalar
12 13
13 14
14 class TestBase(unittest.TestCase): 15 class TestBase(unittest.TestCase):
15 def setUp(self): 16 def setUp(self):
16 story_set = story.StorySet(base_dir=os.path.dirname(__file__)) 17 story_set = story.StorySet(base_dir=os.path.dirname(__file__))
17 story_set.AddStory( 18 story_set.AddStory(
18 page_module.Page('http://www.bar.com/', story_set, story_set.base_dir)) 19 page_module.Page('http://www.bar.com/', story_set, story_set.base_dir))
19 story_set.AddStory( 20 story_set.AddStory(
20 page_module.Page('http://www.baz.com/', story_set, story_set.base_dir)) 21 page_module.Page('http://www.baz.com/', story_set, story_set.base_dir))
21 story_set.AddStory( 22 story_set.AddStory(
22 page_module.Page('http://www.foo.com/', story_set, story_set.base_dir)) 23 page_module.Page('http://www.foo.com/', story_set, story_set.base_dir))
23 self.story_set = story_set 24 self.story_set = story_set
24 25
25 @property 26 @property
26 def pages(self): 27 def pages(self):
27 return self.story_set.stories 28 return self.story_set.stories
28 29
29 class MergeValueTest(TestBase): 30 class MergeValueTest(TestBase):
30 def testSamePageMergeBasic(self): 31 def testSamePageMergeBasic(self):
31 page0 = self.pages[0] 32 page0 = self.pages[0]
32 page1 = self.pages[1] 33 page1 = self.pages[1]
33 34
34 all_values = [scalar.ScalarValue(page0, 'x', 'units', 1), 35 all_values = [scalar.ScalarValue(
35 scalar.ScalarValue(page1, 'x', 'units', 4), 36 page0, 'x', 'units', 1,
36 scalar.ScalarValue(page0, 'x', 'units', 2), 37 improvement_direction=improvement_direction.UP),
37 scalar.ScalarValue(page1, 'x', 'units', 5)] 38 scalar.ScalarValue(
39 page1, 'x', 'units', 4,
40 improvement_direction=improvement_direction.UP),
41 scalar.ScalarValue(
42 page0, 'x', 'units', 2,
43 improvement_direction=improvement_direction.UP),
44 scalar.ScalarValue(
45 page1, 'x', 'units', 5,
46 improvement_direction=improvement_direction.UP)]
38 47
39 merged_values = merge_values.MergeLikeValuesFromSamePage(all_values) 48 merged_values = merge_values.MergeLikeValuesFromSamePage(all_values)
40 # Sort the results so that their order is predictable for the subsequent 49 # Sort the results so that their order is predictable for the subsequent
41 # assertions. 50 # assertions.
42 merged_values.sort(key=lambda x: x.page.url) 51 merged_values.sort(key=lambda x: x.page.url)
43 52
44 self.assertEquals(2, len(merged_values)) 53 self.assertEquals(2, len(merged_values))
45 54
46 self.assertEquals((page0, 'x'), 55 self.assertEquals((page0, 'x'),
47 (merged_values[0].page, merged_values[0].name)) 56 (merged_values[0].page, merged_values[0].name))
48 self.assertEquals([1, 2], merged_values[0].values) 57 self.assertEquals([1, 2], merged_values[0].values)
49 58
50 self.assertEquals((page1, 'x'), 59 self.assertEquals((page1, 'x'),
51 (merged_values[1].page, merged_values[1].name)) 60 (merged_values[1].page, merged_values[1].name))
52 self.assertEquals([4, 5], merged_values[1].values) 61 self.assertEquals([4, 5], merged_values[1].values)
53 62
54 def testSamePageMergeOneValue(self): 63 def testSamePageMergeOneValue(self):
55 page0 = self.pages[0] 64 page0 = self.pages[0]
56 65
57 all_values = [scalar.ScalarValue(page0, 'x', 'units', 1)] 66 all_values = [scalar.ScalarValue(
67 page0, 'x', 'units', 1,
68 improvement_direction=improvement_direction.DOWN)]
58 69
59 # Sort the results so that their order is predictable for the subsequent 70 # Sort the results so that their order is predictable for the subsequent
60 # assertions. 71 # assertions.
61 merged_values = merge_values.MergeLikeValuesFromSamePage(all_values) 72 merged_values = merge_values.MergeLikeValuesFromSamePage(all_values)
62 self.assertEquals(1, len(merged_values)) 73 self.assertEquals(1, len(merged_values))
63 self.assertEquals(all_values[0].name, merged_values[0].name) 74 self.assertEquals(all_values[0].name, merged_values[0].name)
64 self.assertEquals(all_values[0].units, merged_values[0].units) 75 self.assertEquals(all_values[0].units, merged_values[0].units)
65 76
66 def testSamePageMergeWithInteractionRecord(self): 77 def testSamePageMergeWithInteractionRecord(self):
67 page0 = self.pages[0] 78 page0 = self.pages[0]
68 79
69 all_values = [scalar.ScalarValue(page0, 'foo-x', 'units', 1, 80 all_values = [scalar.ScalarValue(
70 tir_label='foo'), 81 page0, 'foo-x', 'units', 1, tir_label='foo',
71 scalar.ScalarValue(page0, 'foo-x', 'units', 4, 82 improvement_direction=improvement_direction.UP),
72 tir_label='foo')] 83 scalar.ScalarValue(
84 page0, 'foo-x', 'units', 4, tir_label='foo',
85 improvement_direction=improvement_direction.UP)]
73 86
74 merged_values = merge_values.MergeLikeValuesFromSamePage(all_values) 87 merged_values = merge_values.MergeLikeValuesFromSamePage(all_values)
75 self.assertEquals(1, len(merged_values)) 88 self.assertEquals(1, len(merged_values))
76 self.assertEquals('foo', merged_values[0].tir_label) 89 self.assertEquals('foo', merged_values[0].tir_label)
77 90
78 def testDifferentPageMergeBasic(self): 91 def testDifferentPageMergeBasic(self):
79 page0 = self.pages[0] 92 page0 = self.pages[0]
80 page1 = self.pages[1] 93 page1 = self.pages[1]
81 94
82 all_values = [scalar.ScalarValue(page0, 'x', 'units', 1), 95 all_values = [scalar.ScalarValue(
83 scalar.ScalarValue(page1, 'x', 'units', 2), 96 page0, 'x', 'units', 1,
84 scalar.ScalarValue(page0, 'y', 'units', 10), 97 improvement_direction=improvement_direction.UP),
85 scalar.ScalarValue(page1, 'y', 'units', 20)] 98 scalar.ScalarValue(
99 page1, 'x', 'units', 2,
100 improvement_direction=improvement_direction.UP),
101 scalar.ScalarValue(
102 page0, 'y', 'units', 10,
103 improvement_direction=improvement_direction.UP),
104 scalar.ScalarValue(
105 page1, 'y', 'units', 20,
106 improvement_direction=improvement_direction.UP)]
86 107
87 # Sort the results so that their order is predictable for the subsequent 108 # Sort the results so that their order is predictable for the subsequent
88 # assertions. 109 # assertions.
89 merged_values = merge_values.MergeLikeValuesFromDifferentPages(all_values) 110 merged_values = merge_values.MergeLikeValuesFromDifferentPages(all_values)
90 merged_values.sort(key=lambda x: x.name) 111 merged_values.sort(key=lambda x: x.name)
91 self.assertEquals(2, len(merged_values)) 112 self.assertEquals(2, len(merged_values))
92 113
93 self.assertEquals((None, 'x'), 114 self.assertEquals((None, 'x'),
94 (merged_values[0].page, merged_values[0].name)) 115 (merged_values[0].page, merged_values[0].name))
95 self.assertEquals([1, 2], merged_values[0].values) 116 self.assertEquals([1, 2], merged_values[0].values)
96 117
97 self.assertEquals((None, 'y'), 118 self.assertEquals((None, 'y'),
98 (merged_values[1].page, merged_values[1].name)) 119 (merged_values[1].page, merged_values[1].name))
99 self.assertEquals([10, 20], merged_values[1].values) 120 self.assertEquals([10, 20], merged_values[1].values)
100 121
101 def testDifferentPageMergeSingleValueStillMerges(self): 122 def testDifferentPageMergeSingleValueStillMerges(self):
102 page0 = self.pages[0] 123 page0 = self.pages[0]
103 124
104 all_values = [scalar.ScalarValue(page0, 'x', 'units', 1)] 125 all_values = [scalar.ScalarValue(
126 page0, 'x', 'units', 1,
127 improvement_direction=improvement_direction.DOWN)]
105 128
106 # Sort the results so that their order is predictable for the subsequent 129 # Sort the results so that their order is predictable for the subsequent
107 # assertions. 130 # assertions.
108 merged_values = merge_values.MergeLikeValuesFromDifferentPages(all_values) 131 merged_values = merge_values.MergeLikeValuesFromDifferentPages(all_values)
109 self.assertEquals(1, len(merged_values)) 132 self.assertEquals(1, len(merged_values))
110 133
111 self.assertEquals((None, 'x'), 134 self.assertEquals((None, 'x'),
112 (merged_values[0].page, merged_values[0].name)) 135 (merged_values[0].page, merged_values[0].name))
113 self.assertTrue( 136 self.assertTrue(
114 isinstance(merged_values[0], list_of_scalar_values.ListOfScalarValues)) 137 isinstance(merged_values[0], list_of_scalar_values.ListOfScalarValues))
115 self.assertEquals([1], merged_values[0].values) 138 self.assertEquals([1], merged_values[0].values)
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/value/list_of_scalar_values_unittest.py ('k') | tools/telemetry/telemetry/value/scalar.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698