OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 | 2 |
3 """ | 3 """ |
4 Copyright 2014 Google Inc. | 4 Copyright 2014 Google Inc. |
5 | 5 |
6 Use of this source code is governed by a BSD-style license that can be | 6 Use of this source code is governed by a BSD-style license that can be |
7 found in the LICENSE file. | 7 found in the LICENSE file. |
8 | 8 |
9 Test imagepairset.py | 9 Test imagepairset.py |
10 """ | 10 """ |
11 | 11 |
12 # System-level imports | 12 # System-level imports |
13 import unittest | 13 import unittest |
14 | 14 |
15 # Local imports | 15 # Local imports |
16 import column | 16 import column |
17 import imagepair | 17 import imagepair |
18 import imagepairset | 18 import imagepairset |
19 | 19 |
20 | 20 |
21 BASE_URL_1 = 'http://base/url/1' | 21 BASE_URL_1 = 'http://base/url/1' |
22 BASE_URL_2 = 'http://base/url/2' | 22 BASE_URL_2 = 'http://base/url/2' |
23 DIFF_BASE_URL = 'http://diff/base/url' | 23 DIFF_BASE_URL = 'http://diff/base/url' |
24 IMAGEPAIR_1_AS_DICT = { | 24 IMAGEPAIR_1_AS_DICT = { |
25 imagepair.KEY__EXTRA_COLUMN_VALUES: { | 25 imagepair.KEY__IMAGEPAIRS__EXTRACOLUMNS: { |
26 'builder': 'MyBuilder', | 26 'builder': 'MyBuilder', |
27 'test': 'test1', | 27 'test': 'test1', |
28 }, | 28 }, |
29 imagepair.KEY__IMAGE_A_URL: 'test1/1111.png', | 29 imagepair.KEY__IMAGEPAIRS__IMAGE_A_URL: 'test1/1111.png', |
30 imagepair.KEY__IMAGE_B_URL: 'test1/1111.png', | 30 imagepair.KEY__IMAGEPAIRS__IMAGE_B_URL: 'test1/1111.png', |
31 imagepair.KEY__IS_DIFFERENT: False, | 31 imagepair.KEY__IMAGEPAIRS__IS_DIFFERENT: False, |
32 } | 32 } |
33 IMAGEPAIR_2_AS_DICT = { | 33 IMAGEPAIR_2_AS_DICT = { |
34 imagepair.KEY__DIFFERENCE_DATA: { | 34 imagepair.KEY__IMAGEPAIRS__DIFFERENCES: { |
35 'maxDiffPerChannel': [1, 2, 3], | 35 'maxDiffPerChannel': [1, 2, 3], |
36 'numDifferingPixels': 111, | 36 'numDifferingPixels': 111, |
37 'percentDifferingPixels': 22.222, | 37 'percentDifferingPixels': 22.222, |
38 'weightedDiffMeasure': 33.333, | 38 'weightedDiffMeasure': 33.333, |
39 }, | 39 }, |
40 imagepair.KEY__EXTRA_COLUMN_VALUES: { | 40 imagepair.KEY__IMAGEPAIRS__EXTRACOLUMNS: { |
41 'builder': 'MyBuilder', | 41 'builder': 'MyBuilder', |
42 'test': 'test2', | 42 'test': 'test2', |
43 }, | 43 }, |
44 imagepair.KEY__IMAGE_A_URL: 'test2/2222.png', | 44 imagepair.KEY__IMAGEPAIRS__IMAGE_A_URL: 'test2/2222.png', |
45 imagepair.KEY__IMAGE_B_URL: 'test2/22223.png', | 45 imagepair.KEY__IMAGEPAIRS__IMAGE_B_URL: 'test2/22223.png', |
46 imagepair.KEY__IS_DIFFERENT: True, | 46 imagepair.KEY__IMAGEPAIRS__IS_DIFFERENT: True, |
47 } | 47 } |
48 IMAGEPAIR_3_AS_DICT = { | 48 IMAGEPAIR_3_AS_DICT = { |
49 imagepair.KEY__DIFFERENCE_DATA: { | 49 imagepair.KEY__IMAGEPAIRS__DIFFERENCES: { |
50 'maxDiffPerChannel': [4, 5, 6], | 50 'maxDiffPerChannel': [4, 5, 6], |
51 'numDifferingPixels': 111, | 51 'numDifferingPixels': 111, |
52 'percentDifferingPixels': 44.444, | 52 'percentDifferingPixels': 44.444, |
53 'weightedDiffMeasure': 33.333, | 53 'weightedDiffMeasure': 33.333, |
54 }, | 54 }, |
55 imagepair.KEY__EXPECTATIONS_DATA: { | 55 imagepair.KEY__IMAGEPAIRS__EXPECTATIONS: { |
56 'bugs': [1001, 1002], | 56 'bugs': [1001, 1002], |
57 'ignoreFailure': True, | 57 'ignoreFailure': True, |
58 }, | 58 }, |
59 imagepair.KEY__EXTRA_COLUMN_VALUES: { | 59 imagepair.KEY__IMAGEPAIRS__EXTRACOLUMNS: { |
60 'builder': 'MyBuilder', | 60 'builder': 'MyBuilder', |
61 'test': 'test3', | 61 'test': 'test3', |
62 }, | 62 }, |
63 imagepair.KEY__IMAGE_A_URL: 'test3/3333.png', | 63 imagepair.KEY__IMAGEPAIRS__IMAGE_A_URL: 'test3/3333.png', |
64 imagepair.KEY__IMAGE_B_URL: 'test3/33334.png', | 64 imagepair.KEY__IMAGEPAIRS__IMAGE_B_URL: 'test3/33334.png', |
65 imagepair.KEY__IS_DIFFERENT: True, | 65 imagepair.KEY__IMAGEPAIRS__IS_DIFFERENT: True, |
66 } | 66 } |
67 SET_A_DESCRIPTION = 'expectations' | 67 SET_A_DESCRIPTION = 'expectations' |
68 SET_B_DESCRIPTION = 'actuals' | 68 SET_B_DESCRIPTION = 'actuals' |
69 | 69 |
70 | 70 |
71 class ImagePairSetTest(unittest.TestCase): | 71 class ImagePairSetTest(unittest.TestCase): |
72 | 72 |
73 def setUp(self): | 73 def setUp(self): |
74 self.maxDiff = None # do not truncate diffs when tests fail | 74 self.maxDiff = None # do not truncate diffs when tests fail |
75 | 75 |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 class MockImagePair(object): | 159 class MockImagePair(object): |
160 """Mock ImagePair object, which will return canned results.""" | 160 """Mock ImagePair object, which will return canned results.""" |
161 def __init__(self, base_url, dict_to_return): | 161 def __init__(self, base_url, dict_to_return): |
162 """ | 162 """ |
163 Args: | 163 Args: |
164 base_url: base_url attribute for this object | 164 base_url: base_url attribute for this object |
165 dict_to_return: dictionary to return from as_dict() | 165 dict_to_return: dictionary to return from as_dict() |
166 """ | 166 """ |
167 self.base_url = base_url | 167 self.base_url = base_url |
168 self.extra_columns_dict = dict_to_return.get( | 168 self.extra_columns_dict = dict_to_return.get( |
169 imagepair.KEY__EXTRA_COLUMN_VALUES, None) | 169 imagepair.KEY__IMAGEPAIRS__EXTRACOLUMNS, None) |
170 self._dict_to_return = dict_to_return | 170 self._dict_to_return = dict_to_return |
171 | 171 |
172 def as_dict(self): | 172 def as_dict(self): |
173 return self._dict_to_return | 173 return self._dict_to_return |
174 | 174 |
175 | 175 |
176 def main(): | 176 def main(): |
177 suite = unittest.TestLoader().loadTestsFromTestCase(ImagePairSetTest) | 177 suite = unittest.TestLoader().loadTestsFromTestCase(ImagePairSetTest) |
178 unittest.TextTestRunner(verbosity=2).run(suite) | 178 unittest.TextTestRunner(verbosity=2).run(suite) |
179 | 179 |
180 | 180 |
181 if __name__ == '__main__': | 181 if __name__ == '__main__': |
182 main() | 182 main() |
OLD | NEW |