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

◆ test_flags_macros()

static void test_flags_macros ( void  )
static

Definition at line 76 of file cu_gserialized1.c.

77{
78 uint8_t flags = 0;
79
80 CU_ASSERT_EQUAL(0, G1FLAGS_GET_Z(flags));
81 G1FLAGS_SET_Z(flags, 1);
82 CU_ASSERT_EQUAL(1, G1FLAGS_GET_Z(flags));
83 G1FLAGS_SET_Z(flags, 0);
84 CU_ASSERT_EQUAL(0, G1FLAGS_GET_Z(flags));
85 CU_ASSERT_EQUAL(0, G1FLAGS_GET_BBOX(flags));
86
87 CU_ASSERT_EQUAL(0, G1FLAGS_GET_M(flags));
88 G1FLAGS_SET_M(flags, 1);
89 CU_ASSERT_EQUAL(1, G1FLAGS_GET_M(flags));
90
91 CU_ASSERT_EQUAL(0, G1FLAGS_GET_BBOX(flags));
92 G1FLAGS_SET_BBOX(flags, 1);
93 CU_ASSERT_EQUAL(1, G1FLAGS_GET_BBOX(flags));
94
95 CU_ASSERT_EQUAL(0, G1FLAGS_GET_GEODETIC(flags));
96 G1FLAGS_SET_GEODETIC(flags, 1);
97 CU_ASSERT_EQUAL(1, G1FLAGS_GET_GEODETIC(flags));
98
99 flags = g1flags(1, 0, 1); /* z=1, m=0, geodetic=1 */
100
101 CU_ASSERT_EQUAL(1, G1FLAGS_GET_GEODETIC(flags));
102 CU_ASSERT_EQUAL(1, G1FLAGS_GET_Z(flags));
103 CU_ASSERT_EQUAL(0, G1FLAGS_GET_M(flags));
104 CU_ASSERT_EQUAL(2, G1FLAGS_GET_ZM(flags));
105
106 flags = g1flags(1, 1, 1); /* z=1, m=1, geodetic=1 */
107
108 CU_ASSERT_EQUAL(1, G1FLAGS_GET_GEODETIC(flags));
109 CU_ASSERT_EQUAL(1, G1FLAGS_GET_Z(flags));
110 CU_ASSERT_EQUAL(1, G1FLAGS_GET_M(flags));
111 CU_ASSERT_EQUAL(3, G1FLAGS_GET_ZM(flags));
112
113 flags = g1flags(0, 1, 0); /* z=0, m=1, geodetic=0 */
114
115 CU_ASSERT_EQUAL(0, G1FLAGS_GET_GEODETIC(flags));
116 CU_ASSERT_EQUAL(0, G1FLAGS_GET_Z(flags));
117 CU_ASSERT_EQUAL(1, G1FLAGS_GET_M(flags));
118 CU_ASSERT_EQUAL(1, G1FLAGS_GET_ZM(flags));
119}
uint8_t g1flags(int has_z, int has_m, int is_geodetic)
#define G1FLAGS_SET_Z(gflags, value)
#define G1FLAGS_GET_M(gflags)
#define G1FLAGS_SET_M(gflags, value)
#define G1FLAGS_GET_ZM(gflags)
#define G1FLAGS_SET_BBOX(gflags, value)
#define G1FLAGS_GET_BBOX(gflags)
#define G1FLAGS_SET_GEODETIC(gflags, value)
#define G1FLAGS_GET_GEODETIC(gflags)
#define G1FLAGS_GET_Z(gflags)

References g1flags(), G1FLAGS_GET_BBOX, G1FLAGS_GET_GEODETIC, G1FLAGS_GET_M, G1FLAGS_GET_Z, G1FLAGS_GET_ZM, G1FLAGS_SET_BBOX, G1FLAGS_SET_GEODETIC, G1FLAGS_SET_M, and G1FLAGS_SET_Z.

Referenced by gserialized1_suite_setup().

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