Added assignment operator to KKJ class.
authorAki Koskinen <maemo@akikoskinen.info>
Sun, 28 Mar 2010 19:03:22 +0000 (22:03 +0300)
committerAki Koskinen <maemo@akikoskinen.info>
Sun, 28 Mar 2010 19:24:39 +0000 (22:24 +0300)
src/kkj.cpp
src/kkj.h
tests/ut_kkj/ut_kkj.cpp

index 5961353..5948293 100644 (file)
@@ -37,6 +37,15 @@ bool KKJ::operator==(const KKJ &rhs) const
     return northing() == rhs.northing() && easting() == rhs.easting();
 }
 
+KKJ& KKJ::operator=(const KKJ &rhs)
+{
+    Q_D(KKJ);
+    d->northing = rhs.northing();
+    d->easting = rhs.easting();
+
+    return *this;
+}
+
 unsigned int KKJ::northing() const
 {
     Q_D(const KKJ);
index 5daddde..ec7d79b 100644 (file)
--- a/src/kkj.h
+++ b/src/kkj.h
@@ -33,6 +33,13 @@ public:
     bool operator==(const KKJ &rhs) const;
 
     /**
+     * Assignment operator.
+     * @param rhs the object that is copied.
+     * @return this object.
+     */
+    KKJ& operator=(const KKJ &rhs);
+
+    /**
      * Returns the northing of the coordinate.
      * @return the northing.
      */
index 22ec962..6988ac6 100644 (file)
@@ -3,6 +3,8 @@
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
+#include "stlhelpers.h"
+
 class KKJTest : public ::testing::Test
 {
 public:
@@ -44,6 +46,15 @@ TEST_F(KKJTest, EqualsOperatorReturnsFalseForCoordinatesWithDifferentEasting)
     ASSERT_FALSE(kkj1 == kkj2);
 }
 
+TEST_F(KKJTest, AssignmentOperator)
+{
+    const KKJ kkj1(northing, easting);
+    KKJ kkj2(0, 0);
+    kkj2 = kkj1;
+    ASSERT_EQ(northing, kkj2.northing());
+    ASSERT_EQ(easting, kkj2.easting());
+}
+
 int main(int argc, char *argv[])
 {
     ::testing::InitGoogleMock(&argc, argv);