commit a95760c2f6253f5c40f3180b4ac4c723a8e1c8ff
parent 55aa4aa37e6436160e4547570f979d416739d4af
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 12 Jan 2018 14:16:21 +0100
Clean up the tests of the scene API
Diffstat:
2 files changed, 24 insertions(+), 54 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -130,7 +130,7 @@ if(NOT NO_TEST)
endfunction()
new_test(test_s2d_device)
- #new_test(test_s2d_scene)
+ new_test(test_s2d_scene)
new_test(test_s2d_scene_view)
# new_test(test_s2d_primitive)
# new_test(test_s2d_sample)
diff --git a/src/test_s2d_scene.c b/src/test_s2d_scene.c
@@ -39,6 +39,7 @@ main(int argc, char** argv)
struct s2d_device* dev;
struct s2d_device* dev2;
struct s2d_scene* scn;
+ struct s2d_scene_view* scnview;
struct s2d_shape* shape;
struct s2d_primitive prim;
size_t nprims;
@@ -47,7 +48,6 @@ main(int argc, char** argv)
float tmp[2];
float length;
float area;
- int mask;
(void)argc, (void)argv;
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
@@ -72,7 +72,7 @@ main(int argc, char** argv)
CHK(s2d_scene_attach_shape(scn, NULL) == RES_BAD_ARG);
CHK(s2d_scene_attach_shape(NULL, shape) == RES_BAD_ARG);
CHK(s2d_scene_attach_shape(scn, shape) == RES_OK);
- CHK(s2d_scene_attach_shape(scn, shape) == RES_BAD_ARG);
+ CHK(s2d_scene_attach_shape(scn, shape) == RES_OK);
CHK(s2d_scene_detach_shape(NULL, NULL) == RES_BAD_ARG);
CHK(s2d_scene_detach_shape(scn, NULL) == RES_BAD_ARG);
@@ -87,7 +87,7 @@ main(int argc, char** argv)
CHK(s2d_scene_clear(scn) == RES_OK);
CHK(s2d_scene_view_create(scn, S2D_TRACE, &scnview) == RES_OK);
- CHK(s2d_scene_view_primitives_count(scn, &nprims) == RES_OK);
+ CHK(s2d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
CHK(nprims == 0);
CHK(s2d_scene_view_ref_put(scnview) == RES_OK);
@@ -97,19 +97,17 @@ main(int argc, char** argv)
attrib.type = S2D_FLOAT2;
attrib.usage = S2D_POSITION;
attrib.get = line_segments_get_position;
- CHECK(s2d_line_segments_setup_indexed_vertices
- (shape, box_nsegs, line_segments_get_ids, box_nverts, &attrib, 1,
- (void*)&box_desc), RES_OK);
+ CHK(s2d_line_segments_setup_indexed_vertices
+ (shape, square_nsegs, line_segments_get_ids, square_nverts, &attrib, 1,
+ (void*)&square_desc) == RES_OK);
CHK(s2d_scene_attach_shape(scn, shape) == RES_OK);
CHK(s2d_scene_view_create(scn, S2D_GET_PRIMITIVE, &scnview) == RES_OK);
- CHK(s2d_scene_view_primitives_count(scn, &nprims) == RES_OK);
+ CHK(s2d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
CHK(nprims == 4);
- CHK(s2d_scene_begin_session(scn, S2D_GET_PRIMITIVE) == RES_OK);
FOR_EACH(i, 0, nprims) {
struct s2d_attrib attr;
- float tmp[2];
CHK(s2d_scene_view_get_primitive(scnview, (unsigned)i, &prim) == RES_OK);
CHK(s2d_primitive_get_attrib(&prim, S2D_GEOMETRY_NORMAL, 0, &attr) == RES_OK);
@@ -123,57 +121,29 @@ main(int argc, char** argv)
}
}
- CHK(s2d_scene_view_compute_contour_length(NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_view_compute_contour_length(scn, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_view_compute_contour_length(NULL, &length) == RES_BAD_ARG);
- CHK(s2d_scene_view_compute_contour_length(scn, &length) == RES_OK);
- CHK(eq_epsf(length, 8.f, 1.e-6f) == 1);
-
- CHK(s2d_scene_compute_area(NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_compute_area(scn, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_compute_area(NULL, &area) == RES_BAD_ARG);
- CHK(s2d_scene_compute_area(scn, &area) == RES_OK);
- CHK(eq_epsf(area, 4.f, 1.e-6f) == 1);
-
- CHK(s2d_scene_get_aabb(NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_get_aabb(scn, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_get_aabb(NULL, lower, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_get_aabb(scn, lower, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_get_aabb(NULL, NULL, upper) == RES_BAD_ARG);
- CHK(s2d_scene_get_aabb(scn, NULL, upper) == RES_BAD_ARG);
- CHK(s2d_scene_get_aabb(NULL, lower, upper) == RES_BAD_ARG);
- CHK(s2d_scene_get_aabb(scn, lower, upper) == RES_OK);
- CHK(f2_eq_eps(lower, f2(tmp, -1.f, -1.f), 1.e-6f) == 1);
- CHK(f2_eq_eps(upper, f2(tmp, 1.f, 1.f), 1.e-6f) == 1);
-
- CHK(s2d_scene_end_session(scn) == RES_OK);
-
- CHK(s2d_scene_compute_contour_length(scn, &length) == RES_BAD_OP);
- CHK(s2d_scene_compute_area(scn, &area) == RES_BAD_OP);
- CHK(s2d_scene_get_aabb(scn, lower, upper) == RES_BAD_OP);
+ CHK(s2d_scene_view_compute_contour_length(scnview, &length) == RES_OK);
+ CHK(eq_epsf(length, 8.f, 1.e-6f));
- CHK(s2d_shape_flip_contour(shape) == RES_OK);
+ CHK(s2d_scene_view_compute_area(scnview, &area) == RES_OK);
+ CHK(eq_epsf(area, 4.f, 1.e-6f));
- CHK(s2d_scene_begin_session(scn, S2D_SAMPLE) == RES_OK);
+ CHK(s2d_scene_view_get_aabb(scnview, lower, upper) == RES_OK);
+ CHK(f2_eq_eps(lower, f2(tmp, -1.f, -1.f), 1.e-6f));
+ CHK(f2_eq_eps(upper, f2(tmp, 1.f, 1.f), 1.e-6f));
- CHK(s2d_scene_compute_contour_length(scn, &length) == RES_OK);
- CHK(eq_epsf(length, 8.f, 1.e-6f) == 1);
-
- CHK(s2d_scene_compute_area(scn, &area) == RES_OK);
- CHK(eq_epsf(area, -4.f, 1.e-6f) == 1);
-
- CHK(s2d_scene_end_session(scn) == RES_OK);
+ CHK(s2d_scene_view_ref_put(scnview) == RES_OK);
CHK(s2d_scene_clear(scn) == RES_OK);
- CHK(s2d_scene_begin_session(scn, S2D_SAMPLE) == RES_OK);
- CHK(s2d_scene_compute_contour_length(scn, &length) == RES_OK);
+ CHK(s2d_scene_view_create(scn, S2D_SAMPLE, &scnview) == RES_OK);
+ CHK(s2d_scene_view_compute_contour_length(scnview, &length) == RES_OK);
CHK(length == 0.f);
- CHK(s2d_scene_compute_area(scn, &area) == RES_OK);
+ CHK(s2d_scene_view_compute_area(scnview, &area) == RES_OK);
CHK(area == 0.f);
- CHK(s2d_scene_get_aabb(scn, lower, upper) == RES_OK);
- CHK(lower[0] > upper[0] == 1);
- CHK(lower[1] > upper[1] == 1);
- CHK(s2d_scene_end_session(scn) == RES_OK);
+ CHK(s2d_scene_view_get_aabb(scnview, lower, upper) == RES_OK);
+ CHK(lower[0] > upper[0]);
+ CHK(lower[1] > upper[1]);
+
+ CHK(s2d_scene_view_ref_put(scnview) == RES_OK);
CHK(s2d_scene_get_device(NULL, NULL) == RES_BAD_ARG);
CHK(s2d_scene_get_device(scn, NULL) == RES_BAD_ARG);