PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ test_lwgeom_same()

static void test_lwgeom_same ( void  )
static

Definition at line 862 of file cu_gserialized1.c.

863 {
864  LWGEOM *geom, *geom2;
865 
866  geom = lwgeom_from_wkt("POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))", LW_PARSER_CHECK_NONE);
867  CU_ASSERT( lwgeom_same(geom, geom) );
868  lwgeom_add_bbox(geom);
869  CU_ASSERT( lwgeom_same(geom, geom) );
870  lwgeom_free(geom);
871 
872  geom = lwgeom_from_wkt("MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)))", LW_PARSER_CHECK_NONE);
873  CU_ASSERT( lwgeom_same(geom, geom) );
874  lwgeom_add_bbox(geom);
875  CU_ASSERT( lwgeom_same(geom, geom) );
876  lwgeom_free(geom);
877 
878  geom = lwgeom_from_wkt("LINESTRING(0 0, 2 0)", LW_PARSER_CHECK_NONE);
879  CU_ASSERT( lwgeom_same(geom, geom) );
880  lwgeom_add_bbox(geom);
881  CU_ASSERT( lwgeom_same(geom, geom) );
882  lwgeom_free(geom);
883 
884  geom = lwgeom_from_wkt("MULTILINESTRING((0 0, 2 0))", LW_PARSER_CHECK_NONE);
885  CU_ASSERT( lwgeom_same(geom, geom) );
886  lwgeom_add_bbox(geom);
887  CU_ASSERT( lwgeom_same(geom, geom) );
888  lwgeom_free(geom);
889 
890  geom = lwgeom_from_wkt("POINT(0 0)", LW_PARSER_CHECK_NONE);
891  CU_ASSERT( lwgeom_same(geom, geom) );
892  lwgeom_add_bbox(geom);
893  CU_ASSERT( lwgeom_same(geom, geom) );
894  lwgeom_free(geom);
895 
896  geom = lwgeom_from_wkt("MULTIPOINT((0 0),(4 5))", LW_PARSER_CHECK_NONE);
897  CU_ASSERT( lwgeom_same(geom, geom) );
898  lwgeom_add_bbox(geom);
899  CU_ASSERT( lwgeom_same(geom, geom) );
900  lwgeom_free(geom);
901 
902  geom = lwgeom_from_wkt("POINT EMPTY", LW_PARSER_CHECK_NONE);
903  CU_ASSERT( lwgeom_same(geom, geom) );
904  lwgeom_add_bbox(geom);
905  CU_ASSERT( lwgeom_same(geom, geom) );
906  lwgeom_free(geom);
907 
908  geom = lwgeom_from_wkt("LINESTRING EMPTY", LW_PARSER_CHECK_NONE);
909  CU_ASSERT( lwgeom_same(geom, geom) );
910  lwgeom_add_bbox(geom);
911  CU_ASSERT( lwgeom_same(geom, geom) );
912  lwgeom_free(geom);
913 
914  geom = lwgeom_from_wkt("POLYGON EMPTY", LW_PARSER_CHECK_NONE);
915  CU_ASSERT( lwgeom_same(geom, geom) );
916  lwgeom_free(geom);
917 
918  geom = lwgeom_from_wkt("MULTIPOINT EMPTY", LW_PARSER_CHECK_NONE);
919  CU_ASSERT( lwgeom_same(geom, geom) );
920  lwgeom_free(geom);
921 
922  geom = lwgeom_from_wkt("MULTILINESTRING EMPTY", LW_PARSER_CHECK_NONE);
923  CU_ASSERT( lwgeom_same(geom, geom) );
924  lwgeom_free(geom);
925 
926  geom = lwgeom_from_wkt("MULTIPOLYGON EMPTY", LW_PARSER_CHECK_NONE);
927  CU_ASSERT( lwgeom_same(geom, geom) );
928  lwgeom_free(geom);
929 
930  geom = lwgeom_from_wkt("GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY, POINT EMPTY, LINESTRING EMPTY, POLYGON EMPTY, MULTIPOINT EMPTY, MULTILINESTRING EMPTY, MULTIPOLYGON EMPTY, GEOMETRYCOLLECTION(MULTIPOLYGON EMPTY))", LW_PARSER_CHECK_NONE);
931  CU_ASSERT( lwgeom_same(geom, geom) );
932  lwgeom_free(geom);
933 
934  geom = lwgeom_from_wkt("POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))", LW_PARSER_CHECK_NONE);
935  geom2 = lwgeom_from_wkt("GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY, POINT EMPTY, LINESTRING EMPTY, POLYGON EMPTY, MULTIPOINT EMPTY, MULTILINESTRING EMPTY, MULTIPOLYGON EMPTY, GEOMETRYCOLLECTION(MULTIPOLYGON EMPTY))", LW_PARSER_CHECK_NONE);
936  CU_ASSERT( ! lwgeom_same(geom, geom2) );
937  lwgeom_free(geom);
938  lwgeom_free(geom2);
939 
940  geom = lwgeom_from_wkt("POINT(0 0)", LW_PARSER_CHECK_NONE);
941  geom2 = lwgeom_from_wkt("MULTIPOINT((0 0))", LW_PARSER_CHECK_NONE);
942  CU_ASSERT( ! lwgeom_same(geom, geom2) );
943  lwgeom_free(geom);
944  lwgeom_free(geom2);
945 
946  geom = lwgeom_from_wkt("POINT EMPTY", LW_PARSER_CHECK_NONE);
947  geom2 = lwgeom_from_wkt("POINT Z EMPTY", LW_PARSER_CHECK_NONE);
948  CU_ASSERT( ! lwgeom_same(geom, geom2) );
949  lwgeom_free(geom);
950  lwgeom_free(geom2);
951 
952 }
char lwgeom_same(const LWGEOM *lwgeom1, const LWGEOM *lwgeom2)
geom1 same as geom2 iff
Definition: lwgeom.c:619
void lwgeom_free(LWGEOM *geom)
Definition: lwgeom.c:1246
#define LW_PARSER_CHECK_NONE
Definition: liblwgeom.h:2149
LWGEOM * lwgeom_from_wkt(const char *wkt, const char check)
Definition: lwin_wkt.c:940
void lwgeom_add_bbox(LWGEOM *lwgeom)
Compute a bbox if not already computed.
Definition: lwgeom.c:723

References LW_PARSER_CHECK_NONE, lwgeom_add_bbox(), lwgeom_free(), lwgeom_from_wkt(), and lwgeom_same().

Referenced by gserialized1_suite_setup().

Here is the call graph for this function:
Here is the caller graph for this function: