forked from organicmaps/organicmaps
Some fixes for XMLElement
This commit is contained in:
parent
2066aa34b8
commit
0c4336a2a0
3 changed files with 27 additions and 4 deletions
|
@ -30,7 +30,7 @@ UNIT_TEST(Source_To_Element_create_from_xml_test)
|
|||
|
||||
UNIT_TEST(Source_To_Element_create_from_o5m_test)
|
||||
{
|
||||
string src(begin(way_o5m_data), end(way_o5m_data));
|
||||
string src(begin(relation_o5m_data), end(relation_o5m_data));
|
||||
istringstream ss(src);
|
||||
SourceReader reader(ss);
|
||||
|
||||
|
@ -39,7 +39,9 @@ UNIT_TEST(Source_To_Element_create_from_o5m_test)
|
|||
{
|
||||
elements.push_back(*e);
|
||||
});
|
||||
TEST_EQUAL(elements.size(), 10, (elements));
|
||||
TEST_EQUAL(elements.size(), 11, (elements));
|
||||
|
||||
cout << DebugPrint(elements);
|
||||
}
|
||||
|
||||
UNIT_TEST(Source_To_Element_check_equivalence)
|
||||
|
|
|
@ -62,10 +62,24 @@ string XMLElement::ToString(string const & shift) const
|
|||
ss << "Nd ref: " << ref;
|
||||
break;
|
||||
case EntityType::Way:
|
||||
ss << "Way: " << id << " subelements: " << childs.size();
|
||||
ss << "Way: " << id << " nds: " << m_nds.size() << " subelements: " << childs.size();
|
||||
if (!m_nds.empty())
|
||||
{
|
||||
string shift2 = shift;
|
||||
shift2 += shift2.empty() ? "\n " : " ";
|
||||
for ( auto const & e : m_nds )
|
||||
ss << shift2 << e;
|
||||
}
|
||||
break;
|
||||
case EntityType::Relation:
|
||||
ss << "Relation: " << id << " subelements: " << childs.size();
|
||||
ss << "Relation: " << id << " members: " << m_members.size() << " subelements: " << childs.size();
|
||||
if (!m_members.empty())
|
||||
{
|
||||
string shift2 = shift;
|
||||
shift2 += shift2.empty() ? "\n " : " ";
|
||||
for ( auto const & e : m_members )
|
||||
ss << shift2 << e.ref << " " << DebugPrint(e.type) << " " << e.role;
|
||||
}
|
||||
break;
|
||||
case EntityType::Tag:
|
||||
ss << "Tag: " << k << " = " << v;
|
||||
|
|
|
@ -40,6 +40,11 @@ struct XMLElement
|
|||
uint64_t ref;
|
||||
EntityType type;
|
||||
string role;
|
||||
|
||||
bool operator == (Member const & e) const
|
||||
{
|
||||
return ref == e.ref && type == e.type && role == e.role;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
@ -118,6 +123,8 @@ struct XMLElement
|
|||
&& v == e.v
|
||||
&& memberType == e.memberType
|
||||
&& role == e.role
|
||||
&& m_nds == e.m_nds
|
||||
&& m_members == e.m_members
|
||||
&& childs == e.childs
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue