[Marble-bugs] [marble] [Bug 334276] New: Equality operators for GeoDataSnippet, GeoDataLookAt and GeoDataFeature
Dennis Nienhüser
earthwings at gentoo.org
Sat May 3 12:22:30 UTC 2014
https://bugs.kde.org/show_bug.cgi?id=334276
Bug ID: 334276
Summary: Equality operators for GeoDataSnippet, GeoDataLookAt
and GeoDataFeature
Classification: Unclassified
Product: marble
Version: 1.7 (KDE 4.12)
Platform: unspecified
OS: Linux
Status: UNCONFIRMED
Keywords: google-code-in, junior-jobs
Severity: task
Priority: NOR
Component: general
Assignee: marble-bugs at kde.org
Reporter: earthwings at gentoo.org
Add operator== and operator!= to the classes GeoDataSnippet and GeoDataLookAt.
Have GeoDataFeature override the equals() method of GeoDataObject. Inside call
its parent's equals method and check the members (see GeoDataFeature_p.h). The
static ones and ref should be ignored. Instead of checking m_visualCategory and
m_style, check that *style() == *other.style(). Be careful when checking
m_styleMap since it is a pointer that can be 0 (i.e. don't call *m_styleMap if
m_styleMap==0. You can do something like (!m_styleMap && !other.m_styleMap) ||
(m_styleMap && other.m_styleMap && *m_styleMap == *other.m_styleMap) if you
want a short implementation). Similar for m_abstractView, which however is even
more complicated because it does not have operator== directly -- cast it to
camera and lookat depending on the nodeType and compare them.
Extend TestEquality for new unit test methods for GeoDataSnippet and
GeoDataLookAt instances. Extend the existing methods for GeoDataFeature derived
classes to set and check feature related properties in their checks as well.
Make sure to compile Marble with the BUILD_MARBLE_TESTS=TRUE option enabled and
run the test case from the build folder (run tests/TestEquality). Submit a
review request at https://git.reviewboard.kde.org.
Please leave a comment here (e.g. "I want to work on this task.") if you start
working on this task to avoid multiple people working on it at the same time.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Marble-bugs
mailing list