diff -r db6ca177c6c4 -r 0d9ca37901ed tests/quadrilaterals.py --- a/tests/quadrilaterals.py Tue Jan 23 14:09:52 2018 +0200 +++ b/tests/quadrilaterals.py Tue Jan 23 15:30:48 2018 +0200 @@ -51,11 +51,19 @@ yield error(quadrilateral, 'self-intersecting') break +def collinear_test(model): + for element in model.body: + if hasattr(element, 'geometry') and len(element.geometry.vertices) >= 3: + for a, b, c in pairs(element.geometry.vertices, count = 3): + if cross_product(b - a, c - a).length() < 1e-5: + yield error(element, 'collinearity-error') + manifest = { 'tests': { 'skew': skew_test, 'concave': concave_test, 'bowtie': bowtie_test, + 'collinearity': collinear_test, }, 'messages': { 'skew-error': lambda skew_angle: @@ -68,5 +76,6 @@ ), 'concave-error': 'concave quadrilateral', 'self-intersecting': 'bowtie quadrilateral', + 'collinearity-error': 'collinear polygon', }, }