[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