     const auto ptr2 = v2.data();
     const auto size2 = v2.size();
 
+    // ensure v1 was left empty
+    ASSERT_EQUAL(true, v1.empty());
+
+    // ensure v2 received the data from before
+    ASSERT_EQUAL(v2[0], 0);
+    ASSERT_EQUAL(v2[1], 1);
+    ASSERT_EQUAL(v2[2], 2);
+    ASSERT_EQUAL(size1, size2);
+
+    // ensure v2 received the pointer from before
+    ASSERT_EQUAL(ptr1, ptr2);
+
     //test move assignment
     Vector v3(3);
+    v3[0] = 3; v3[1] = 4; v3[2] = 5;
+
     const auto ptr3 = v3.data();
     const auto size3 = v3.size();
 


#if __cplusplus >= 201103L
  template <class Vector>
  void TestVectorMoveSemantic(void)
  {
    //test move construction
    Vector v1(3);
    const auto ptr1 = v1.data();
    const auto size1 = v1.size();


    const auto ptr4 = v2.data();
    const auto size4 = v2.size();

    // ensure v3 was left empty
    ASSERT_EQUAL(true, v3.empty());

    // ensure v2 received the data from before
    ASSERT_EQUAL(v2[0], 3);
    ASSERT_EQUAL(v2[1], 4);
    ASSERT_EQUAL(v2[2], 5);
    ASSERT_EQUAL(size3, size4);

    // ensure v2 received the pointer from before
    ASSERT_EQUAL(ptr3, ptr4);
  }
  DECLARE_VECTOR_UNITTEST(TestVectorMove);
#endif

