PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ 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: