OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 | 4 |
5 import os | 5 import os |
6 import unittest | 6 import unittest |
7 | 7 |
8 from telemetry import story | 8 from telemetry import story |
9 | 9 |
10 | 10 |
11 # pylint: disable=abstract-method | 11 # pylint: disable=abstract-method |
12 class SharedStateBar(story.SharedState): | 12 class SharedStateBar(story.SharedState): |
13 pass | 13 pass |
14 | 14 |
15 | 15 |
16 class StoryFoo(story.Story): | 16 class StoryFoo(story.Story): |
17 def __init__(self, name='', labels=None, grouping_keys=None): | 17 def __init__(self, name='', labels=None): |
18 super(StoryFoo, self).__init__( | 18 super(StoryFoo, self).__init__( |
19 SharedStateBar, name, labels, grouping_keys=grouping_keys) | 19 SharedStateBar, name, labels) |
20 | 20 |
21 | 21 |
22 class StorySetFoo(story.StorySet): | 22 class StorySetFoo(story.StorySet): |
23 """ StorySetFoo is a story set created for testing purpose. """ | 23 """ StorySetFoo is a story set created for testing purpose. """ |
24 pass | 24 pass |
25 | 25 |
26 | 26 |
27 class StorySetTest(unittest.TestCase): | 27 class StorySetTest(unittest.TestCase): |
28 | 28 |
29 def testStorySetTestName(self): | 29 def testStorySetTestName(self): |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 story_set.RemoveStory(foo_story) | 71 story_set.RemoveStory(foo_story) |
72 | 72 |
73 def testBasicAddRemove(self): | 73 def testBasicAddRemove(self): |
74 story_set = story.StorySet() | 74 story_set = story.StorySet() |
75 foo_story = StoryFoo() | 75 foo_story = StoryFoo() |
76 story_set.AddStory(foo_story) | 76 story_set.AddStory(foo_story) |
77 self.assertEqual([foo_story], story_set.stories) | 77 self.assertEqual([foo_story], story_set.stories) |
78 | 78 |
79 story_set.RemoveStory(foo_story) | 79 story_set.RemoveStory(foo_story) |
80 self.assertEqual([], story_set.stories) | 80 self.assertEqual([], story_set.stories) |
81 | |
82 def testAddDuplicateDisplayNameWithoutGroupingKeysRaises(self): | |
83 story_set = story.StorySet() | |
84 foo_story = StoryFoo(name='foo') | |
85 | |
86 story_set.AddStory(foo_story) | |
87 | |
88 with self.assertRaises(AssertionError): | |
89 story_set.AddStory(foo_story) | |
90 | |
91 def testAddDuplicateDisplayNameWithDifferentGroupingKeys(self): | |
92 story_set = story.StorySet() | |
93 foo_story0 = StoryFoo(name='foo', grouping_keys={ | |
94 'bar': 3, 'baz': 4}) | |
95 foo_story1 = StoryFoo(name='foo', grouping_keys={ | |
96 'bar': 7, 'baz': 8}) | |
97 | |
98 story_set.AddStory(foo_story0) | |
99 story_set.AddStory(foo_story1) | |
100 | |
101 def testAddDuplicateDisplayNameWithSameGroupingKeysRaises(self): | |
102 story_set = story.StorySet() | |
103 foo_story0 = StoryFoo(name='foo', grouping_keys={ | |
104 'bar': 3, 'baz': 4}) | |
105 foo_story1 = StoryFoo(name='foo', grouping_keys={ | |
106 'bar': 3, 'baz': 4}) | |
107 | |
108 story_set.AddStory(foo_story0) | |
109 | |
110 with self.assertRaises(AssertionError): | |
111 story_set.AddStory(foo_story1) | |
OLD | NEW |