From 39cbe5d0d7db78f0d2808abea5562db84d03a07e Mon Sep 17 00:00:00 2001 From: pacien Date: Sat, 23 Dec 2017 21:52:22 +0100 Subject: Refactor quadrilateral tests Signed-off-by: pacien --- test/morpher/quadrilateral.c | 47 ++++++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 28 deletions(-) (limited to 'test') diff --git a/test/morpher/quadrilateral.c b/test/morpher/quadrilateral.c index 0ab0e4b..963d1d6 100644 --- a/test/morpher/quadrilateral.c +++ b/test/morpher/quadrilateral.c @@ -20,17 +20,19 @@ static inline bool vertices_equals(CartesianMapping maps[], * --- */ static void test_quadrilateral_flip_diagonal() { - TriangleMap *t = trianglemap_create(m(50, 0), m(0, 100), m(100, 100)); - TriangleMap *r = trianglemap_create(m(100, 100), m(0, 100), m(100, 200)); - TriangleMap *l = trianglemap_create(m(0, 100), m(0, 200), m(100, 200)); + CartesianMapping A = m(50, 0), B = m(0, 100), C = m(100, 100), D = m(0, 200), E = m(100, 200); + + TriangleMap *t = trianglemap_create(A, B, C); + TriangleMap *r = trianglemap_create(C, B, E); + TriangleMap *l = trianglemap_create(B, D, E); trianglemap_set_neighbors(t, NULL, r, NULL, r); trianglemap_set_neighbors(r, t, l, NULL, l); trianglemap_set_neighbors(l, NULL, NULL, r, NULL); quadrilateral_flip_diagonal(r, l); - assert(vertices_equals(t->vertices, m(50, 0), m(0, 100), m(100, 100))); - assert(vertices_equals(r->vertices, m(0, 100), m(0, 200), m(100, 100))); - assert(vertices_equals(l->vertices, m(0, 200), m(100, 200), m(100, 100))); + assert(vertices_equals(t->vertices, A, B, C)); + assert(vertices_equals(r->vertices, B, D, C)); + assert(vertices_equals(l->vertices, D, E, C)); assert(neighbors_equals(t->neighbors, NULL, r, NULL)); assert(neighbors_equals(r->neighbors, NULL, l, t)); assert(neighbors_equals(l->neighbors, NULL, NULL, r)); @@ -38,34 +40,23 @@ static void test_quadrilateral_flip_diagonal() { while (t != NULL) t = trianglemap_destroy(t); } -static void test_quadrilateral_is_delaunay() { - { - TriangleMap *l = trianglemap_create(m(0, 0), m(0, 3), m(3, 3)); - TriangleMap *r = trianglemap_create(m(0, 0), m(3, 3), m(2, 1)); - trianglemap_set_neighbors(l, NULL, NULL, r, r); - trianglemap_set_neighbors(r, l, NULL, NULL, NULL); - - assert(!quadrilateral_is_delaunay(l, r)); - - trianglemap_destroy(l); - trianglemap_destroy(r); - } +static void test_quadrilateral_is_delaunay(CartesianMapping A, CartesianMapping B, CartesianMapping C, + CartesianMapping D, bool expected) { - { - TriangleMap *l = trianglemap_create(m(0, 0), m(0, 3), m(3, 3)); - TriangleMap *r = trianglemap_create(m(0, 0), m(3, 3), m(4, -1)); - trianglemap_set_neighbors(l, NULL, NULL, r, r); - trianglemap_set_neighbors(r, l, NULL, NULL, NULL); + TriangleMap *l = trianglemap_create(A, B, C); + TriangleMap *r = trianglemap_create(A, C, D); + trianglemap_set_neighbors(l, NULL, NULL, r, r); + trianglemap_set_neighbors(r, l, NULL, NULL, NULL); - assert(quadrilateral_is_delaunay(l, r)); + assert(quadrilateral_is_delaunay(l, r) == expected); - trianglemap_destroy(l); - trianglemap_destroy(r); - } + trianglemap_destroy(l); + trianglemap_destroy(r); } int main(int argc, char **argv) { test_quadrilateral_flip_diagonal(); - test_quadrilateral_is_delaunay(); + test_quadrilateral_is_delaunay(m(0, 0), m(0, 3), m(3, 3), m(2, 1), false); + test_quadrilateral_is_delaunay(m(0, 0), m(0, 3), m(3, 3), m(4, -1), true); return 0; } -- cgit v1.2.3