PostGIS  3.0.6dev-r@@SVN_REVISION@@

◆ test_g2flags_macros()

static void test_g2flags_macros ( void  )
static

Definition at line 22 of file cu_gserialized2.c.

23 {
24  uint8_t flags = 0;
25 
26  CU_ASSERT_EQUAL(0, G2FLAGS_GET_Z(flags));
27  G2FLAGS_SET_Z(flags, 1);
28  CU_ASSERT_EQUAL(1, G2FLAGS_GET_Z(flags));
29  G2FLAGS_SET_Z(flags, 0);
30  CU_ASSERT_EQUAL(0, G2FLAGS_GET_Z(flags));
31  CU_ASSERT_EQUAL(0, G2FLAGS_GET_BBOX(flags));
32 
33  CU_ASSERT_EQUAL(0, G2FLAGS_GET_M(flags));
34  G2FLAGS_SET_M(flags, 1);
35  CU_ASSERT_EQUAL(1, G2FLAGS_GET_M(flags));
36 
37  CU_ASSERT_EQUAL(0, G2FLAGS_GET_BBOX(flags));
38  G2FLAGS_SET_BBOX(flags, 1);
39  CU_ASSERT_EQUAL(1, G2FLAGS_GET_BBOX(flags));
40 
41  CU_ASSERT_EQUAL(0, G2FLAGS_GET_GEODETIC(flags));
42  G2FLAGS_SET_GEODETIC(flags, 1);
43  CU_ASSERT_EQUAL(1, G2FLAGS_GET_GEODETIC(flags));
44 
45  flags = g2flags(1, 0, 1); /* z=1, m=0, geodetic=1 */
46 
47  CU_ASSERT_EQUAL(1, G2FLAGS_GET_GEODETIC(flags));
48  CU_ASSERT_EQUAL(1, G2FLAGS_GET_Z(flags));
49  CU_ASSERT_EQUAL(0, G2FLAGS_GET_M(flags));
50  CU_ASSERT_EQUAL(2, G2FLAGS_GET_ZM(flags));
51 
52  flags = g2flags(1, 1, 1); /* z=1, m=1, geodetic=1 */
53 
54  CU_ASSERT_EQUAL(1, G2FLAGS_GET_GEODETIC(flags));
55  CU_ASSERT_EQUAL(1, G2FLAGS_GET_Z(flags));
56  CU_ASSERT_EQUAL(1, G2FLAGS_GET_M(flags));
57  CU_ASSERT_EQUAL(3, G2FLAGS_GET_ZM(flags));
58 
59  flags = g2flags(0, 1, 0); /* z=0, m=1, geodetic=0 */
60 
61  CU_ASSERT_EQUAL(0, G2FLAGS_GET_GEODETIC(flags));
62  CU_ASSERT_EQUAL(0, G2FLAGS_GET_Z(flags));
63  CU_ASSERT_EQUAL(1, G2FLAGS_GET_M(flags));
64  CU_ASSERT_EQUAL(1, G2FLAGS_GET_ZM(flags));
65 
66  flags = 0;
67  G2FLAGS_SET_VERSION(flags, 0);
68  CU_ASSERT_EQUAL(0, G2FLAGS_GET_VERSION(flags));
69  G2FLAGS_SET_VERSION(flags, 1);
70  CU_ASSERT_EQUAL(1, G2FLAGS_GET_VERSION(flags));
71 }
uint8_t g2flags(int has_z, int has_m, int is_geodetic)
Definition: gserialized2.c:134
#define G2FLAGS_SET_Z(gflags, value)
Definition: gserialized2.h:29
#define G2FLAGS_SET_VERSION(gflags, value)
Definition: gserialized2.h:34
#define G2FLAGS_GET_ZM(gflags)
Definition: gserialized2.h:37
#define G2FLAGS_GET_BBOX(gflags)
Definition: gserialized2.h:24
#define G2FLAGS_GET_VERSION(gflags)
Definition: gserialized2.h:21
#define G2FLAGS_SET_M(gflags, value)
Definition: gserialized2.h:30
#define G2FLAGS_GET_GEODETIC(gflags)
Definition: gserialized2.h:25
#define G2FLAGS_GET_Z(gflags)
Definition: gserialized2.h:22
#define G2FLAGS_SET_GEODETIC(gflags, value)
Definition: gserialized2.h:32
#define G2FLAGS_GET_M(gflags)
Definition: gserialized2.h:23
#define G2FLAGS_SET_BBOX(gflags, value)
Definition: gserialized2.h:31

References g2flags(), G2FLAGS_GET_BBOX, G2FLAGS_GET_GEODETIC, G2FLAGS_GET_M, G2FLAGS_GET_VERSION, G2FLAGS_GET_Z, G2FLAGS_GET_ZM, G2FLAGS_SET_BBOX, G2FLAGS_SET_GEODETIC, G2FLAGS_SET_M, G2FLAGS_SET_VERSION, and G2FLAGS_SET_Z.

Referenced by gserialized2_suite_setup().

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