added primitive CCW test

Tue, 28 May 2019 19:11:01 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Tue, 28 May 2019 19:11:01 +0300
changeset 50
0193f8820ba8
parent 49
a1f5c12fa45c
child 51
913ec927c95d

added primitive CCW test

tests/misc.py file | annotate | diff | comparison | revisions
--- a/tests/misc.py	Tue May 28 19:10:52 2019 +0300
+++ b/tests/misc.py	Tue May 28 19:11:01 2019 +0300
@@ -44,6 +44,14 @@
             model.body[model.header.first_occurrence['part type']],
             'unofficial-type')
 
+def primitive_ccw_test(model):
+    if model.header.valid \
+    and model.header.filetype.endswith('Primitive') \
+    and model.header.bfc != 'CERTIFY CCW':
+        yield error(
+            model.body[model.header.first_occurrence['bfc']],
+            'primitive-bfc-ccw')
+
 manifest = {
     'tests': {
         'colour-validity': colours_test,
@@ -52,6 +60,7 @@
         'bfc-nocertify': nocertify_test,
         'physical-colour': physical_colours_test,
         'unofficial-type': unofficiality_test,
+        'primitive-ccw': primitive_ccw_test,
     },
     'messages': {
         'bad-colour': lambda colour_index: str.format(
@@ -69,5 +78,6 @@
         'bfc-nocertify': 'all new parts must be BFC certified',
         'physical-colour': 'no new physical colour parts are accepted',
         'unofficial-type': 'new parts must be unofficial',
+        'primitive-bfc-ccw': 'primitives must have CCW winding',
     },
 }

mercurial