diff --git a/tests/unittests/topohelper/geometry/tst_getSidePosition.cpp b/tests/unittests/topohelper/geometry/tst_getSidePosition.cpp
index 4e5d1910b066b41c93d008f04b463452a1882825..d74da5a82917facc90a672d6a4530928ee77833b 100644
--- a/tests/unittests/topohelper/geometry/tst_getSidePosition.cpp
+++ b/tests/unittests/topohelper/geometry/tst_getSidePosition.cpp
@@ -30,13 +30,49 @@ class TestGetSidePosition : public QObject
 private slots:
     void testGetSidePosition_data()
     {
-        QSKIP("Not implemented yet");
+        QTest::addColumn<QRectF>("boundingArea");
+        QTest::addColumn<QPointF>("pos");
+        QTest::addColumn<Qt::Alignment>("side");
+        QTest::addColumn<QPointF>("expectedResult");
+
+        auto asFlags = [](Qt::Alignment flag) { return QFlags<Qt::AlignmentFlag>(flag); };
+
+        constexpr QRectF testRect(0, 0, 100, 100);
+        static const QPointF &center = testRect.center();
+        constexpr QRectF noRect = QRectF();
+        constexpr QPointF noPoint = QPointF();
+
+        QTest::newRow("Left") << testRect << center << asFlags(Qt::AlignLeft) << QPointF(testRect.left(), center.y());
+        QTest::newRow("LeftNoRect") << noRect << center << asFlags(Qt::AlignLeft) << noPoint;
+        QTest::newRow("LeftNoPoint") << testRect << noPoint << asFlags(Qt::AlignLeft) << noPoint;
+
+        QTest::newRow("Right") << testRect << center << asFlags(Qt::AlignRight)
+                               << QPointF(testRect.right(), center.y());
+        QTest::newRow("RightNoRect") << noRect << center << asFlags(Qt::AlignRight) << noPoint;
+        QTest::newRow("RightNoPoint") << testRect << noPoint << asFlags(Qt::AlignRight) << QPointF(testRect.right(), 0);
+
+        QTest::newRow("Top") << testRect << center << asFlags(Qt::AlignTop) << QPointF(center.x(), testRect.top());
+        QTest::newRow("TopNoRect") << noRect << center << asFlags(Qt::AlignTop) << noPoint;
+        QTest::newRow("TopNoPoint") << testRect << noPoint << asFlags(Qt::AlignTop) << noPoint;
+
+        QTest::newRow("Bottom") << testRect << center << asFlags(Qt::AlignBottom)
+                                << QPointF(center.x(), testRect.bottom());
+        QTest::newRow("BottomNoRect") << noRect << center << asFlags(Qt::AlignBottom) << noPoint;
+        QTest::newRow("BottomNoPoint") << testRect << noPoint << asFlags(Qt::AlignBottom)
+                                       << QPointF(0, testRect.bottom());
+
+        QTest::newRow("Center") << testRect << center << asFlags(Qt::AlignCenter) << center;
     }
 
     void testGetSidePosition()
     {
-        QSKIP("Not implemented yet");
-        // const auto &actualResult = getSidePosition(replaceMe);
+        QFETCH(QRectF, boundingArea);
+        QFETCH(QPointF, pos);
+        QFETCH(Qt::Alignment, side);
+        QFETCH(QPointF, expectedResult);
+
+        const auto &actualResult = getSidePosition(boundingArea, pos, side);
+        QCOMPARE(actualResult, expectedResult);
     }
 };