star-cad

Geometric operators for computer-aided design
git clone git://git.meso-star.fr/star-cad.git
Log | Files | Refs | README | LICENSE

commit f195bb985476d05686e4f01c8f18519cd8adcbf0
parent 801c7c558d91ef0d87943cac1c5f7f00f8b4689c
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Wed, 15 Oct 2025 11:45:45 +0200

Add API tests for scad_geometries_common_boundaries

Diffstat:
Msrc/test_api.c | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 63 insertions(+), 2 deletions(-)

diff --git a/src/test_api.c b/src/test_api.c @@ -1265,11 +1265,71 @@ main(int argc, char* argv[]) OK(scad_geometries_swap(geoms, out_geoms, 2, SCAD_SWAP_GEOMETRY)); OK(scad_geometry_ref_put(out_geoms[0])); OK(scad_geometry_ref_put(out_geoms[1])); - BAD(scad_geometries_common_boundaries(geoms, 2, NULL, 0, &geom_array, &c)); + + + BAD(scad_geometries_common_boundaries(NULL, 0, NULL, 0, NULL, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 0, NULL, 0, NULL, &c)); + BAD(scad_geometries_common_boundaries(NULL, 0, NULL, 0, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 0, NULL, 0, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(NULL, 0, NULL, 1, NULL, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 0, NULL, 1, NULL, &c)); + BAD(scad_geometries_common_boundaries(NULL, 0, NULL, 1, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 0, NULL, 1, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(NULL, 0, geoms+1, 0, NULL, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 0, geoms+1, 0, NULL, &c)); + BAD(scad_geometries_common_boundaries(NULL, 0, geoms+1, 0, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 0, geoms+1, 0, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(NULL, 0, geoms+1, 1, NULL, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 0, geoms+1, 1, NULL, &c)); + BAD(scad_geometries_common_boundaries(NULL, 0, geoms+1, 1, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 0, geoms+1, 1, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(NULL, 1, NULL, 0, NULL, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 1, NULL, 0, NULL, &c)); + BAD(scad_geometries_common_boundaries(NULL, 1, NULL, 0, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 1, NULL, 0, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(NULL, 1, NULL, 1, NULL, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 1, NULL, 1, NULL, &c)); + BAD(scad_geometries_common_boundaries(NULL, 1, NULL, 1, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 1, NULL, 1, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(NULL, 1, geoms+1, 0, NULL, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 1, geoms+1, 0, NULL, &c)); + BAD(scad_geometries_common_boundaries(NULL, 1, geoms+1, 0, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 1, geoms+1, 0, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(NULL, 1, geoms+1, 1, NULL, NULL)); + BAD(scad_geometries_common_boundaries(NULL, 1, geoms+1, 1, NULL, &c)); + BAD(scad_geometries_common_boundaries(NULL, 1, geoms+1, 1, &geom_array, NULL)); BAD(scad_geometries_common_boundaries(NULL, 1, geoms+1, 1, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(geoms, 0, NULL, 0, NULL, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 0, NULL, 0, NULL, &c)); + BAD(scad_geometries_common_boundaries(geoms, 0, NULL, 0, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 0, NULL, 0, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(geoms, 0, NULL, 1, NULL, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 0, NULL, 1, NULL, &c)); + BAD(scad_geometries_common_boundaries(geoms, 0, NULL, 1, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 0, NULL, 1, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(geoms, 0, geoms+1, 0, NULL, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 0, geoms+1, 0, NULL, &c)); + BAD(scad_geometries_common_boundaries(geoms, 0, geoms+1, 0, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 0, geoms+1, 0, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(geoms, 0, geoms+1, 1, NULL, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 0, geoms+1, 1, NULL, &c)); + BAD(scad_geometries_common_boundaries(geoms, 0, geoms+1, 1, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 0, geoms+1, 1, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(geoms, 1, NULL, 0, NULL, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 1, NULL, 0, NULL, &c)); + BAD(scad_geometries_common_boundaries(geoms, 1, NULL, 0, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 1, NULL, 0, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(geoms, 1, NULL, 1, NULL, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 1, NULL, 1, NULL, &c)); + BAD(scad_geometries_common_boundaries(geoms, 1, NULL, 1, &geom_array, NULL)); BAD(scad_geometries_common_boundaries(geoms, 1, NULL, 1, &geom_array, &c)); - BAD(scad_geometries_common_boundaries(geoms, 1, geoms+1, 1, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 1, geoms+1, 0, NULL, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 1, geoms+1, 0, NULL, &c)); + BAD(scad_geometries_common_boundaries(geoms, 1, geoms+1, 0, &geom_array, NULL)); + BAD(scad_geometries_common_boundaries(geoms, 1, geoms+1, 0, &geom_array, &c)); + BAD(scad_geometries_common_boundaries(geoms, 1, geoms+1, 1, NULL, NULL)); BAD(scad_geometries_common_boundaries(geoms, 1, geoms+1, 1, NULL, &c)); + BAD(scad_geometries_common_boundaries(geoms, 1, geoms+1, 1, &geom_array, NULL)); OK(scad_geometries_common_boundaries(geoms, 1, geoms+1, 1, &geom_array, &c)); CHK(c == 0); MEM_RM(&allocator, geom_array); @@ -1332,6 +1392,7 @@ main(int argc, char* argv[]) BAD(scad_geometries_boundaries(&geom1, 0, &geom_array, &c)); BAD(scad_geometries_boundaries(NULL, 1, &geom_array, &c)); OK(scad_geometries_boundaries(&geom1, 1, &geom_array, &c)); + CHK(c == 1); for(i = 0; i < c; i++) { OK(scad_geometry_ref_put(geom_array[i])); }