diff --git a/hoot-core-test/src/test/cpp/hoot/core/io/OsmPbfReaderTest.cpp b/hoot-core-test/src/test/cpp/hoot/core/io/OsmPbfReaderTest.cpp
index f6177f9..7598f4a 100644
--- a/hoot-core-test/src/test/cpp/hoot/core/io/OsmPbfReaderTest.cpp
+++ b/hoot-core-test/src/test/cpp/hoot/core/io/OsmPbfReaderTest.cpp
@@ -34,6 +34,8 @@
#include <hoot/core/io/OsmMapReaderFactory.h>
#include <hoot/core/util/Log.h>
#include <hoot/core/schema/MetadataTags.h>
+#include <hoot/core/io/OsmJsonReader.h>
+#include <hoot/core/util/MapProjector.h>
using namespace hoot::pb;
// CPP Unit
@@ -77,8 +79,8 @@ class OsmPbfReaderTest : public HootTestFixture
public:
OsmPbfReaderTest()
- : HootTestFixture("test-files/io/",
- "test-output/io/")
+ : HootTestFixture("test-files/io/OsmPbfReaderTest/",
+ "test-output/io/OsmPbfReaderTest/")
{
setResetType(ResetAll);
}
@@ -230,15 +232,19 @@ public:
reader.setPermissive(true);
reader.parseElements(&ss, map);
+ OsmJsonWriter writer;
+ writer.setIncludeCompatibilityTags(false);
+ const QString actual = writer.toString(map);
HOOT_STR_EQUALS("{\"version\": 0.6,\"generator\": \"Hootenanny\",\"elements\": [\n"
"{\"type\":\"relation\",\"id\":42,\"members\":[\n"
"{\"type\":\"node\",\"ref\":1,\"role\":\"s\"},\n"
"{\"type\":\"node\",\"ref\":2,\"role\":\"t\"},\n"
"{\"type\":\"node\",\"ref\":3,\"role\":\"u\"},\n"
"{\"type\":\"way\",\"ref\":1,\"role\":\"f\"},\n"
- "{\"type\":\"relation\",\"ref\":1,\"role\":\"f\"}],\"tags\":{\"highway\":\"road\",\"note\":\"test tag\",\"hello\":\"world\",\"" + MetadataTags::ErrorCircular() + "\":\"1.7\"}]\n"
+ "{\"type\":\"relation\",\"ref\":1,\"role\":\"f\"}],\"tags\":{\"highway\":\"road\",\"note\":\"test tag\",\"hello\":\"world\",\"" + MetadataTags::ErrorCircular() + "\":\"1.7\"}}]\n"
"}\n",
- OsmJsonWriter().toString(map))
+ actual);
+ CPPUNIT_ASSERT(OsmJsonReader().isValidJson(actual));
}
void runReadWayTest()
@@ -298,27 +304,14 @@ public:
OsmMapPtr map(new OsmMap());
uut.parse(&input, map);
- HOOT_STR_EQUALS("{\"version\": 0.6,\"generator\": \"Hootenanny\",\"elements\": [\n"
- "{\"type\":\"node\",\"id\":-1,\"lat\":39.5918365,\"lon\":-104.8046341},\n"
- "{\"type\":\"node\",\"id\":-2,\"lat\":39.5918286,\"lon\":-104.8037526},\n"
- "{\"type\":\"node\",\"id\":-3,\"lat\":39.5912317,\"lon\":-104.8037465},\n"
- "{\"type\":\"node\",\"id\":-4,\"lat\":39.591165,\"lon\":-104.8037458},\n"
- "{\"type\":\"node\",\"id\":-5,\"lat\":39.5911571,\"lon\":-104.8046392},\n"
- "{\"type\":\"node\",\"id\":-6,\"lat\":39.59184430000001,\"lon\":-104.8051495},\n"
- "{\"type\":\"node\",\"id\":-7,\"lat\":39.5909325,\"lon\":-104.8046409},\n"
- "{\"type\":\"node\",\"id\":-8,\"lat\":39.5909325,\"lon\":-104.8048206},\n"
- "{\"type\":\"node\",\"id\":-9,\"lat\":39.5910657,\"lon\":-104.8048206},\n"
- "{\"type\":\"node\",\"id\":-10,\"lat\":39.5910631,\"lon\":-104.8051528},\n"
- "{\"type\":\"node\",\"id\":-11,\"lat\":39.5909403,\"lon\":-104.8037425},\n"
- "{\"type\":\"way\",\"id\":-3,\"nodes\":[-1,-2,-3,-4,-5,-1],\"tags\":{\"name\":\"Target - Aurora South\",\"building\":\"yes\",\"" + MetadataTags::Ref2() + "\":\"Target\",\"" + MetadataTags::ErrorCircular() + "\":\"15\"},\n"
- "{\"type\":\"way\",\"id\":-2,\"nodes\":[-6,-1,-5,-7,-8,-9,-10,-6],\"tags\":{\"name\":\"Target Grocery\",\"building\":\"yes\",\"" + MetadataTags::Ref2() + "\":\"Target\",\"" + MetadataTags::ErrorCircular() + "\":\"15\"},\n"
- "{\"type\":\"way\",\"id\":-1,\"nodes\":[-5,-4,-11,-7,-5],\"tags\":{\"name\":\"Target Pharmacy\",\"building\":\"yes\",\"" + MetadataTags::Ref2() + "\":\"Target\",\"" + MetadataTags::ErrorCircular() + "\":\"15\"},\n"
- "{\"type\":\"relation\",\"id\":-1,\"members\":[\n"
- "{\"type\":\"way\",\"ref\":-567,\"role\":\"role1\"},\n"
- "{\"type\":\"way\",\"ref\":-569,\"role\":\"role2\"},\n"
- "{\"type\":\"way\",\"ref\":-568,\"role\":\"role3\"}],\"tags\":{\"foo\":\"bar\",\"" + MetadataTags::ErrorCircular() + "\":\"15\"}]\n"
- "}\n",
- OsmJsonWriter().toString(map));
+ const QString testFileName = "runToyRelationTest.json";
+ OsmJsonWriter writer;
+ writer.setIncludeCompatibilityTags(false);
+ writer.open(_outputPath + testFileName);
+ MapProjector::projectToWgs84(map);
+ writer.write(map);
+ writer.close();
+ HOOT_FILE_EQUALS(_inputPath + testFileName, _outputPath + testFileName);
}
void runIsSupportedUrlExistsTest()
@@ -413,8 +406,9 @@ public:
//Suppress the warning from the OsmXmlReader about missing nodes for ways by temporarily changing
//the log level. We expect the nodes to be missing since we're doing partial map reads and
//don't need to see the messages.
- Log::WarningLevel loglLevel = Log::getInstance().getLevel();
- Log::getInstance().setLevel(Log::Error);
+ Log::WarningLevel logLevel = Log::getInstance().getLevel();
+ if (Log::getInstance().getLevel() >= Log::Info)
+ Log::getInstance().setLevel(Log::Error);
int ctr = 0;
while (reader.hasMoreElements())
@@ -434,7 +428,7 @@ public:
ctr++;
CPPUNIT_ASSERT(ctr < 5); //to prevent an infinite loop if hasMoreElements fails
}
- Log::getInstance().setLevel(loglLevel);
+ Log::getInstance().setLevel(logLevel);
reader.finalizePartial();
CPPUNIT_ASSERT_EQUAL(4, ctr);
@@ -454,8 +448,9 @@ public:
//Suppress the warning from the OsmXmlReader about missing nodes for ways by temporarily changing
//the log level. We expect the nodes to be missing since we're doing partial map reads and
//don't need to see the messages.
- Log::WarningLevel loglLevel = Log::getInstance().getLevel();
- Log::getInstance().setLevel(Log::Error);
+ Log::WarningLevel logLevel = Log::getInstance().getLevel();
+ if (Log::getInstance().getLevel() >= Log::Info)
+ Log::getInstance().setLevel(Log::Error);
int ctr = 0;
while (reader.hasMoreElements())
@@ -478,14 +473,13 @@ public:
ctr++;
CPPUNIT_ASSERT(ctr < 5); //to prevent an infinite loop if hasMoreElements fails
}
- Log::getInstance().setLevel(loglLevel);
+ Log::getInstance().setLevel(logLevel);
reader.finalizePartial();
CPPUNIT_ASSERT_EQUAL(4, ctr);
}
- void runHasMoreElementsTest(
- void )
+ void runHasMoreElementsTest()
{
OsmPbfReader reader1;
@@ -505,8 +499,7 @@ public:
CPPUNIT_ASSERT_EQUAL(reader3.hasMoreElements(), false);
}
- void runReadNextElementTest(
- void )
+ void runReadNextElementTest()
{
OsmPbfReader reader(QString("test-files/ToyTestA.osm.pbf"));
@@ -548,8 +541,9 @@ public:
//Suppress the warning from the OsmXmlReader about missing nodes for ways by temporarily changing
//the log level. We expect the nodes to be missing since we're doing partial map reads and
//don't need to see the messages.
- Log::WarningLevel loglLevel = Log::getInstance().getLevel();
- Log::getInstance().setLevel(Log::Error);
+ Log::WarningLevel logLevel = Log::getInstance().getLevel();
+ if (Log::getInstance().getLevel() >= Log::Info)
+ Log::getInstance().setLevel(Log::Error);
reader1.read(map1);
CPPUNIT_ASSERT_EQUAL(false, reader1.getSortedTypeThenId());
@@ -567,7 +561,7 @@ public:
reader2.setPermissive(false);
reader2.read(map2);
- Log::getInstance().setLevel(loglLevel);
+ Log::getInstance().setLevel(logLevel);
CPPUNIT_ASSERT_EQUAL(false, reader2.getSortedTypeThenId());
CPPUNIT_ASSERT_EQUAL(6, (int)map2->getNodes().size());
@@ -578,8 +572,6 @@ public:
}
};
-
-//CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(OsmPbfReaderTest, "current");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(OsmPbfReaderTest, "quick");
}