tests/aliases.py

changeset 73
9664583cd1c9
child 152
5e347a96869a
equal deleted inserted replaced
72:62d0b5b9d797 73:9664583cd1c9
1 from testsuite import problem_type, report_problem
2 import linetypes
3
4 @problem_type(
5 'alias-not-prefixed-with-equals',
6 severity = 'hold',
7 message = 'description of alias files must start with a "="',
8 )
9 @problem_type(
10 'alias-with-polygon',
11 severity = 'hold',
12 message = 'alias files must only contain subfile references',
13 )
14 @problem_type(
15 'alias-bad-colour',
16 severity = 'hold',
17 message = 'alias files must only use colour 16',
18 )
19 def alias_tests(model):
20 if model.header.valid and 'Alias' in model.header.qualifiers:
21 if not model.header.description.startswith('='):
22 yield report_problem(
23 'alias-not-prefixed-with-equals',
24 bad_object = model.body[0],
25 )
26 for element in model.body:
27 if isinstance(element, linetypes.BasePolygon):
28 yield report_problem(
29 'alias-with-polygon',
30 bad_object = element
31 )
32 elif hasattr(element, 'colour') and element.colour.index != 16:
33 yield report_problem(
34 'alias-bad-colour',
35 bad_object = element
36 )
37
38 manifest = {
39 'tests': [
40 alias_tests
41 ],
42 }

mercurial