forked from organicmaps/organicmaps
Code review fixes.
This commit is contained in:
parent
ce34db1b77
commit
d20898af55
3 changed files with 44 additions and 29 deletions
|
@ -1,11 +1,14 @@
|
|||
#include "testing/testing.hpp"
|
||||
#include "base/logging.hpp"
|
||||
|
||||
#include "generator/osm2meta.hpp"
|
||||
|
||||
#include "indexer/classificator_loader.hpp"
|
||||
#include "generator/osm2meta.hpp"
|
||||
|
||||
#include "coding/writer.hpp"
|
||||
#include "coding/reader.hpp"
|
||||
|
||||
#include "base/logging.hpp"
|
||||
|
||||
#include "std/target_os.hpp"
|
||||
|
||||
using feature::Metadata;
|
||||
|
@ -16,7 +19,7 @@ UNIT_TEST(Metadata_ValidateAndFormat_stars)
|
|||
MetadataTagProcessor p(params);
|
||||
Metadata & md = params.GetMetadata();
|
||||
|
||||
// ignore incorrect values
|
||||
// Ignore incorrect values.
|
||||
p("stars", "0");
|
||||
TEST(md.Empty(), ());
|
||||
p("stars", "-1");
|
||||
|
@ -32,7 +35,7 @@ UNIT_TEST(Metadata_ValidateAndFormat_stars)
|
|||
p("stars", "100");
|
||||
TEST(md.Empty(), ());
|
||||
|
||||
// check correct values
|
||||
// Check correct values.
|
||||
p("stars", "1");
|
||||
TEST_EQUAL(md.Get(Metadata::FMD_STARS), "1", ())
|
||||
md.Drop(Metadata::FMD_STARS);
|
||||
|
@ -61,7 +64,7 @@ UNIT_TEST(Metadata_ValidateAndFormat_stars)
|
|||
TEST_EQUAL(md.Get(Metadata::FMD_STARS), "7", ())
|
||||
md.Drop(Metadata::FMD_STARS);
|
||||
|
||||
// check almost correct values
|
||||
// Check almost correct values.
|
||||
p("stars", "4+");
|
||||
TEST_EQUAL(md.Get(Metadata::FMD_STARS), "4", ())
|
||||
md.Drop(Metadata::FMD_STARS);
|
||||
|
@ -83,7 +86,7 @@ UNIT_TEST(Metadata_ValidateAndFormat_operator)
|
|||
MetadataTagProcessor p(params);
|
||||
Metadata & md = params.GetMetadata();
|
||||
|
||||
// ignore tag 'operator' if feature have inappropriate type
|
||||
// Ignore tag 'operator' if feature have inappropriate type.
|
||||
p("operator", "Some");
|
||||
TEST(md.Empty(), ());
|
||||
|
||||
|
@ -114,7 +117,7 @@ UNIT_TEST(Metadata_ValidateAndFormat_ele)
|
|||
MetadataTagProcessor p(params);
|
||||
Metadata & md = params.GetMetadata();
|
||||
|
||||
// ignore tag 'operator' if feature have inappropriate type
|
||||
// Ignore tag 'operator' if feature have inappropriate type.
|
||||
p("ele", "123");
|
||||
TEST(md.Empty(), ());
|
||||
|
||||
|
@ -136,12 +139,6 @@ UNIT_TEST(Metadata_ValidateAndFormat_ele)
|
|||
md.Drop(Metadata::FMD_ELE);
|
||||
}
|
||||
|
||||
#ifdef OMIM_OS_MOBILE
|
||||
#define WIKIHOST "m.wikipedia.org"
|
||||
#else
|
||||
#define WIKIHOST "wikipedia.org"
|
||||
#endif
|
||||
|
||||
UNIT_TEST(Metadata_ValidateAndFormat_wikipedia)
|
||||
{
|
||||
char const * kWikiKey = "wikipedia";
|
||||
|
@ -150,6 +147,12 @@ UNIT_TEST(Metadata_ValidateAndFormat_wikipedia)
|
|||
MetadataTagProcessor p(params);
|
||||
Metadata & md = params.GetMetadata();
|
||||
|
||||
#ifdef OMIM_OS_MOBILE
|
||||
#define WIKIHOST "m.wikipedia.org"
|
||||
#else
|
||||
#define WIKIHOST "wikipedia.org"
|
||||
#endif
|
||||
|
||||
p(kWikiKey, "en:Bad %20Data");
|
||||
TEST_EQUAL(md.Get(Metadata::FMD_WIKIPEDIA), "en:Bad %20Data", ());
|
||||
TEST_EQUAL(md.GetWikiURL(), "https://en." WIKIHOST "/wiki/Bad_%2520Data", ());
|
||||
|
@ -196,4 +199,6 @@ UNIT_TEST(Metadata_ValidateAndFormat_wikipedia)
|
|||
|
||||
p(kWikiKey, "http://ru.google.com/wiki/wutlol");
|
||||
TEST(md.Empty(), ("Not a wikipedia site."));
|
||||
|
||||
#undef WIKIHOST
|
||||
}
|
||||
|
|
|
@ -6,12 +6,15 @@
|
|||
namespace feature
|
||||
{
|
||||
|
||||
static char constexpr const * kBaseWikiUrl =
|
||||
namespace
|
||||
{
|
||||
char constexpr const * kBaseWikiUrl =
|
||||
#ifdef OMIM_OS_MOBILE
|
||||
".m.wikipedia.org/wiki/";
|
||||
#else
|
||||
".wikipedia.org/wiki/";
|
||||
#endif
|
||||
} // namespace
|
||||
|
||||
string Metadata::GetWikiURL() const
|
||||
{
|
||||
|
|
|
@ -10,6 +10,16 @@
|
|||
|
||||
using feature::Metadata;
|
||||
|
||||
namespace
|
||||
{
|
||||
map<Metadata::EType, string> const kKeyValues =
|
||||
{
|
||||
{Metadata::FMD_ELE, "12345"},
|
||||
{Metadata::FMD_CUISINE, "greek;mediterranean"},
|
||||
{Metadata::FMD_EMAIL, "cool@email.at"}
|
||||
};
|
||||
} // namespace
|
||||
|
||||
UNIT_TEST(Feature_Metadata_GetSet)
|
||||
{
|
||||
Metadata m;
|
||||
|
@ -29,50 +39,46 @@ UNIT_TEST(Feature_Metadata_GetSet)
|
|||
TEST(m.Empty(), ());
|
||||
}
|
||||
|
||||
static map<Metadata::EType, string> const kPairs = { {Metadata::FMD_ELE, "12345"},
|
||||
{Metadata::FMD_CUISINE, "greek;mediterranean"},
|
||||
{Metadata::FMD_EMAIL, "cool@email.at"} };
|
||||
|
||||
UNIT_TEST(Feature_Metadata_PresentTypes)
|
||||
{
|
||||
Metadata m;
|
||||
for (auto const & value : kPairs)
|
||||
for (auto const & value : kKeyValues)
|
||||
m.Set(value.first, value.second);
|
||||
TEST_EQUAL(m.Size(), kPairs.size(), ());
|
||||
TEST_EQUAL(m.Size(), kKeyValues.size(), ());
|
||||
|
||||
auto const types = m.GetPresentTypes();
|
||||
TEST_EQUAL(types.size(), m.Size(), ());
|
||||
for (auto const & type : types)
|
||||
TEST_EQUAL(m.Get(type), kPairs.find(type)->second, ());
|
||||
TEST_EQUAL(m.Get(type), kKeyValues.find(type)->second, ());
|
||||
}
|
||||
|
||||
UNIT_TEST(Feature_Serialization)
|
||||
{
|
||||
Metadata original;
|
||||
for (auto const & value : kPairs)
|
||||
for (auto const & value : kKeyValues)
|
||||
original.Set(value.first, value.second);
|
||||
TEST_EQUAL(original.Size(), kPairs.size(), ());
|
||||
TEST_EQUAL(original.Size(), kKeyValues.size(), ());
|
||||
|
||||
{
|
||||
Metadata serialized;
|
||||
vector<char> buffer;
|
||||
MemWriter<vector<char> > writer(buffer);
|
||||
MemWriter<decltype(buffer)> writer(buffer);
|
||||
original.Serialize(writer);
|
||||
|
||||
MemReader reader(buffer.data(), buffer.size());
|
||||
ReaderSource<MemReader> src(reader);
|
||||
serialized.Deserialize(src);
|
||||
|
||||
for (auto const & value : kPairs)
|
||||
for (auto const & value : kKeyValues)
|
||||
TEST_EQUAL(serialized.Get(value.first), value.second, ());
|
||||
TEST_EQUAL(serialized.Get(Metadata::FMD_OPERATOR), "", ());
|
||||
TEST_EQUAL(serialized.Size(), kPairs.size(), ());
|
||||
TEST_EQUAL(serialized.Size(), kKeyValues.size(), ());
|
||||
}
|
||||
|
||||
{
|
||||
Metadata serialized;
|
||||
vector<char> buffer;
|
||||
MemWriter<vector<char> > writer(buffer);
|
||||
MemWriter<decltype(buffer)> writer(buffer);
|
||||
// Here is the difference.
|
||||
original.SerializeToMWM(writer);
|
||||
|
||||
|
@ -81,10 +87,11 @@ UNIT_TEST(Feature_Serialization)
|
|||
// Here is another difference.
|
||||
serialized.DeserializeFromMWM(src);
|
||||
|
||||
for (auto const & value : kPairs)
|
||||
for (auto const & value : kKeyValues)
|
||||
TEST_EQUAL(serialized.Get(value.first), value.second, ());
|
||||
|
||||
TEST_EQUAL(serialized.Get(Metadata::FMD_OPERATOR), "", ());
|
||||
TEST_EQUAL(serialized.Size(), kPairs.size(), ());
|
||||
TEST_EQUAL(serialized.Size(), kKeyValues.size(), ());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue