Add operator== and operator!= to the classes GeoDataTimeSpan and GeoDataTimeStamp. Change the protected bool equals method of GeoDataObject to become virtual, and overwrite it in GeoDataAbstractView. Have its implementation check the time members and altitude mode. This change will affect operator== of GeoDataCamera. Make sure that TestEquality still succeeds. Extend TestEquality by a new unit test method for GeoDataTimeSpan and GeoDataTimeStamp which verifies the implementation for several instances of each class. 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). Note that operator!= should call operator==, see GeoDataAccuracy for an example. 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.
I want to work on this.
Git commit c40b1bd55a459491a35ebe382d7f1ab4f8d99a17 by Dennis Nienhüser, on behalf of Cruceru Calin-Cristian. Committed on 09/04/2014 at 20:19. Pushed by nienhueser into branch 'master'. Equality operators for time related classes REVIEW: 117408 M +9 -0 src/lib/marble/geodata/data/GeoDataAbstractView.cpp M +5 -0 src/lib/marble/geodata/data/GeoDataAbstractView.h M +2 -1 src/lib/marble/geodata/data/GeoDataGeometry.cpp M +2 -0 src/lib/marble/geodata/data/GeoDataGeometry.h M +1 -1 src/lib/marble/geodata/data/GeoDataObject.h M +1 -1 src/lib/marble/geodata/data/GeoDataPoint.cpp M +12 -0 src/lib/marble/geodata/data/GeoDataTimeSpan.cpp M +6 -0 src/lib/marble/geodata/data/GeoDataTimeSpan.h M +13 -0 src/lib/marble/geodata/data/GeoDataTimeStamp.cpp M +7 -0 src/lib/marble/geodata/data/GeoDataTimeStamp.h M +106 -0 tests/TestEquality.cpp http://commits.kde.org/marble/c40b1bd55a459491a35ebe382d7f1ab4f8d99a17