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

Function TEST

test/unit/test_defmodel.cpp:181–280  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179// ---------------------------------------------------------------------------
180
181TEST(defmodel, basic) {
182 EXPECT_THROW(MasterFile::parse("foo"), ParsingException);
183 EXPECT_THROW(MasterFile::parse("null"), ParsingException);
184 EXPECT_THROW(MasterFile::parse("{}"), ParsingException);
185
186 const auto jMinValid(getMinValidContent());
187 {
188 auto mf = MasterFile::parse(jMinValid.dump());
189 EXPECT_EQ(mf->fileType(), "GeoTIFF");
190 EXPECT_EQ(mf->formatVersion(), "1.0");
191 EXPECT_EQ(mf->sourceCRS(), "EPSG:4959");
192 EXPECT_EQ(mf->targetCRS(), "EPSG:7907");
193 EXPECT_EQ(mf->definitionCRS(), "EPSG:4959");
194 EXPECT_EQ(mf->extent().minx(), modelMinX);
195 EXPECT_EQ(mf->extent().miny(), modelMinY);
196 EXPECT_EQ(mf->extent().maxx(), modelMaxX);
197 EXPECT_EQ(mf->extent().maxy(), modelMaxY);
198 EXPECT_EQ(mf->timeExtent().first.toString(), "1900-01-01T00:00:00Z");
199 EXPECT_EQ(mf->timeExtent().last.toString(), "2050-01-01T00:00:00Z");
200 }
201
202 // Check that removing one of each required key causes an exception
203 for (const auto &kv : jMinValid.items()) {
204 json jcopy(jMinValid);
205 jcopy.erase(kv.key());
206 EXPECT_THROW(MasterFile::parse(jcopy.dump()), ParsingException);
207 }
208
209 {
210 json jcopy(jMinValid);
211 jcopy["definition_crs"] = "EPSG:4326";
212 EXPECT_THROW(MasterFile::parse(jcopy.dump()), ParsingException);
213 }
214
215 {
216 json jcopy(jMinValid);
217 jcopy["file_type"] = 1;
218 EXPECT_THROW(MasterFile::parse(jcopy.dump()), ParsingException);
219 }
220
221 {
222 json jcopy(jMinValid);
223 jcopy["extent"].erase("type");
224 EXPECT_THROW(MasterFile::parse(jcopy.dump()), ParsingException);
225 }
226
227 {
228 json jcopy(jMinValid);
229 jcopy["extent"].erase("parameters");
230 EXPECT_THROW(MasterFile::parse(jcopy.dump()), ParsingException);
231 }
232
233 {
234 json jcopy(jMinValid);
235 jcopy["extent"]["parameters"].clear();
236 EXPECT_THROW(MasterFile::parse(jcopy.dump()), ParsingException);
237 }
238

Callers

nothing calls this directly

Calls 15

getFullValidContentFunction · 0.85
ISO8601ToDecimalYearFunction · 0.85
sourceCRSMethod · 0.80
targetCRSMethod · 0.80
minxMethod · 0.80
minyMethod · 0.80
maxxMethod · 0.80
maxyMethod · 0.80
versionMethod · 0.80
sizeMethod · 0.80
horizontalUncertaintyMethod · 0.80

Tested by

no test coverage detected