tests/mirrored-studs.py

changeset 92
b8d72909d593
parent 91
c71a7d863c2e
child 93
ffe05d369412
equal deleted inserted replaced
91:c71a7d863c2e 92:b8d72909d593
1 from testsuite import problem_type, report_problem
2 import linetypes
3 from librarystandards import library_standards
4
5 @problem_type('mirrored-studs',
6 severity = 'warning',
7 message = lambda primitive: str.format(
8 '"{primitive}" should not be mirrored',
9 primitive = primitive,
10 )
11 )
12 def mirrored_studs_test(model):
13 for subfile_reference in model.subfile_references:
14 # Test whether any stud subfile is mirrored.
15 # A subfile is mirrored if its determinant is negative.
16 if subfile_reference.subfile_path.startswith('stu') \
17 and subfile_reference.subfile_path != 'stud4.dat' \
18 and subfile_reference.matrix.determinant() < 0:
19 yield report_problem(
20 'mirrored-studs',
21 bad_object = subfile_reference,
22 primitive = subfile_reference.subfile_path,
23 )
24
25 manifest = {'tests': [mirrored_studs_test]}

mercurial