MCPcopy Create free account
hub / github.com/OSGeo/PROJ / TEST

Function TEST

test/unit/test_io.cpp:63–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

61// ---------------------------------------------------------------------------
62
63TEST(io, wkt_parsing) {
64 {
65 auto n = WKTNode::createFrom("MYNODE[]");
66 EXPECT_EQ(n->value(), "MYNODE");
67 EXPECT_TRUE(n->children().empty());
68 EXPECT_EQ(n->toString(), "MYNODE");
69 }
70 {
71 auto n = WKTNode::createFrom(" MYNODE [ ] ");
72 EXPECT_EQ(n->value(), "MYNODE");
73 EXPECT_TRUE(n->children().empty());
74 }
75 EXPECT_THROW(WKTNode::createFrom(""), ParsingException);
76 EXPECT_THROW(WKTNode::createFrom("x"), ParsingException);
77 EXPECT_THROW(WKTNode::createFrom("x,"), ParsingException);
78 EXPECT_THROW(WKTNode::createFrom("x["), ParsingException);
79 EXPECT_THROW(WKTNode::createFrom("["), ParsingException);
80
81 {
82 auto n = WKTNode::createFrom("MYNODE[\"x\"]");
83 EXPECT_EQ(n->value(), "MYNODE");
84 ASSERT_EQ(n->children().size(), 1U);
85 EXPECT_EQ(n->children()[0]->value(), "\"x\"");
86 EXPECT_EQ(n->toString(), "MYNODE[\"x\"]");
87 }
88
89 EXPECT_THROW(WKTNode::createFrom("MYNODE[\"x\""), ParsingException);
90
91 {
92 auto n = WKTNode::createFrom("MYNODE[ \"x\" ]");
93 EXPECT_EQ(n->value(), "MYNODE");
94 ASSERT_EQ(n->children().size(), 1U);
95 EXPECT_EQ(n->children()[0]->value(), "\"x\"");
96 }
97
98 {
99 auto n = WKTNode::createFrom("MYNODE[\"x[\",1]");
100 EXPECT_EQ(n->value(), "MYNODE");
101 ASSERT_EQ(n->children().size(), 2U);
102 EXPECT_EQ(n->children()[0]->value(), "\"x[\"");
103 EXPECT_EQ(n->children()[1]->value(), "1");
104 EXPECT_EQ(n->toString(), "MYNODE[\"x[\",1]");
105 }
106
107 EXPECT_THROW(WKTNode::createFrom("MYNODE[\"x\","), ParsingException);
108
109 {
110 auto n = WKTNode::createFrom("A[B[y]]");
111 EXPECT_EQ(n->value(), "A");
112 ASSERT_EQ(n->children().size(), 1U);
113 EXPECT_EQ(n->children()[0]->value(), "B");
114 ASSERT_EQ(n->children()[0]->children().size(), 1U);
115 EXPECT_EQ(n->children()[0]->children()[0]->value(), "y");
116 EXPECT_EQ(n->toString(), "A[B[y]]");
117 }
118
119 EXPECT_THROW(WKTNode::createFrom("A[B["), ParsingException);
120

Callers

nothing calls this directly

Calls 15

MeasureClass · 0.85
checkEPSG_4326Function · 0.85
checkEPSG_4979Function · 0.85
checkGeocentricFunction · 0.85
checkProjectedFunction · 0.85
replaceAllFunction · 0.85
PropertyMapClass · 0.85
createFromUserInputFunction · 0.85
AngleClass · 0.85
LengthClass · 0.85
valueMethod · 0.80
sizeMethod · 0.80

Tested by

no test coverage detected