diff --git a/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp
index 4cd548cff76136f2c08ebae4711a7d2de665cea9..8de62148fbfdb1207b8944bcf598eb998e62e2a1 100644
--- a/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp
+++ b/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp
@@ -26,13 +26,15 @@
 
 #include <RobotAPI/Test.h>
 
-#include "../core/workingmemory/Memory.h"
-#include "../core/error.h"
-
+#include <RobotAPI/libraries/armem/core/workingmemory/Memory.h>
+#include <RobotAPI/libraries/armem/core/longtermmemory/Memory.h>
+#include <RobotAPI/libraries/armem/core/diskmemory/Memory.h>
+#include <RobotAPI/libraries/armem/core/error.h>
 
 #include <iostream>
 #include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
 
+
 namespace armem = armarx::armem;
 namespace aron = armarx::aron;
 
@@ -75,6 +77,26 @@ BOOST_AUTO_TEST_CASE(test_time_to_string)
     BOOST_CHECK_EQUAL(armem::toDateTimeMilliSeconds(time, 6), "1970-01-02 07:51:51.345000");
 }
 
+BOOST_AUTO_TEST_CASE(test_ctors)
+{
+    armem::wm::EntityInstance instance(10);
+    BOOST_CHECK_EQUAL(instance.index(), 10);
+
+    armem::wm::EntitySnapshot snapshot(armem::Time::milliSeconds(100));
+    BOOST_CHECK_EQUAL(snapshot.time(), armem::Time::milliSeconds(100));
+
+    armem::wm::Entity entity("entity");
+    BOOST_CHECK_EQUAL(entity.name(), "entity");
+
+    armem::wm::ProviderSegment provSeg("provSeg");
+    BOOST_CHECK_EQUAL(provSeg.name(), "provSeg");
+
+    armem::wm::CoreSegment coreSeg("coreSeg");
+    BOOST_CHECK_EQUAL(coreSeg.name(), "coreSeg");
+
+    armem::wm::Memory memory("memory");
+    BOOST_CHECK_EQUAL(memory.name(), "memory");
+}
 
 BOOST_AUTO_TEST_CASE(test_segment_setup)
 {
@@ -265,3 +287,43 @@ BOOST_AUTO_TEST_CASE(test_history_size_in_provider_segment)
         BOOST_CHECK_EQUAL(providerSegment.getEntity(name).history().size(), 3);
     }
 }
+
+
+template <class T>
+void test_the_copy_move_ctors_ops()
+{
+    T t1;
+    {
+        T t2 { t1 };
+        t2 = t1;
+    }
+    {
+        T t2 { std::move(t1) };
+        t2 = std::move(t1);
+    }
+}
+
+
+BOOST_AUTO_TEST_CASE(test_copy_move_ctors_ops)
+{
+    test_the_copy_move_ctors_ops<armem::wm::EntityInstance>();
+    test_the_copy_move_ctors_ops<armem::wm::EntitySnapshot>();
+    test_the_copy_move_ctors_ops<armem::wm::Entity>();
+    test_the_copy_move_ctors_ops<armem::wm::ProviderSegment>();
+    test_the_copy_move_ctors_ops<armem::wm::CoreSegment>();
+    test_the_copy_move_ctors_ops<armem::wm::Memory>();
+
+    test_the_copy_move_ctors_ops<armem::ltm::EntityInstance>();
+    test_the_copy_move_ctors_ops<armem::ltm::EntitySnapshot>();
+    test_the_copy_move_ctors_ops<armem::ltm::Entity>();
+    test_the_copy_move_ctors_ops<armem::ltm::ProviderSegment>();
+    test_the_copy_move_ctors_ops<armem::ltm::CoreSegment>();
+    test_the_copy_move_ctors_ops<armem::ltm::Memory>();
+
+    test_the_copy_move_ctors_ops<armem::d_ltm::EntityInstance>();
+    test_the_copy_move_ctors_ops<armem::d_ltm::EntitySnapshot>();
+    test_the_copy_move_ctors_ops<armem::d_ltm::Entity>();
+    test_the_copy_move_ctors_ops<armem::d_ltm::ProviderSegment>();
+    test_the_copy_move_ctors_ops<armem::d_ltm::CoreSegment>();
+    test_the_copy_move_ctors_ops<armem::d_ltm::Memory>();
+}