working version

Signed-off-by: map-per <map-per@gmx.de>
This commit is contained in:
map-per
2025-12-11 15:52:18 +01:00
parent bd179da7a4
commit 29df6cd942
3 changed files with 26 additions and 14 deletions

View File

@@ -7,15 +7,18 @@
using namespace editor;
UNIT_TEST(testIfTestRuns)
UNIT_TEST(loadConfigFile)
{
LOG(LINFO, ("Hello from type to osm test!"));
TypeToOSMTranslator typeToOsm;
typeToOsm.loadConfigFile();
}
UNIT_TEST(osmTagsFromType)
{
classificator::Load();
TypeToOSMTranslator typeToOsm;
uint32_t type = classif().GetTypeByReadableObjectName("amenity-restaurant");
std::vector<OSMTag> resultVector = typeToOsm.osmTagsFromType(type);
std::vector<OSMTag> resultVector = getOSMTranslator().osmTagsFromType(type);
TEST_EQUAL(resultVector.size(), 1, ());
OSMTag const & result = resultVector.front();
@@ -23,8 +26,7 @@ UNIT_TEST(testIfTestRuns)
TEST_EQUAL(result.value, "restaurant", ());
}
UNIT_TEST(loadConfigFile)
UNIT_TEST(testToFail)
{
TypeToOSMTranslator typeToOsm;
typeToOsm.loadConfigFile();
ASSERT_FAIL("Don't run further tests-------------------");
}

View File

@@ -89,23 +89,25 @@ namespace editor
}
if (lineNumber > 70)
if (lineNumber > 500)
break;
}
ASSERT_FAIL("Don't run further tests-------------------");
}
std::vector<OSMTag> TypeToOSMTranslator::osmTagsFromType(uint32_t type)
{
LOG(LINFO, ("Computing osmTagsFromType for Type: ", type, "/ " , classif().GetReadableObjectName(type)));
std::vector<OSMTag> result;
auto it = m_storage.find(type);
result.push_back(OSMTag{"amenity", "restaurant"});
if (it == m_storage.end())
{
ASSERT(false, ("OSM tags for type", type, "could not be found"));
return {};
}
return result;
return it->second;
}
TypeToOSMTranslator & getOSMTranslator()

View File

@@ -1,6 +1,6 @@
#include "editor/xml_feature.hpp"
//#include "editor/feature_type_to_osm.hpp"
#include "editor/feature_type_to_osm.hpp"
#include "editor/keys_to_remove.hpp"
#include "indexer/classificator.hpp"
@@ -642,6 +642,14 @@ void XMLFeature::RemoveTag(string_view key)
void XMLFeature::SetOSMTagsForType(uint32_t type)
{
TypeToOSMTranslator translator = getOSMTranslator();
auto result = translator.osmTagsFromType(type);
ASSERT(!result.empty(), ());
ASSERT_EQUAL(result[0].key, "amenity", ());
ASSERT_EQUAL(result[0].value, "restaurant", ());
if (ftypes::IsRecyclingCentreChecker::Instance()(type))
{
SetTagValue("amenity", "recycling");