diff --git a/tests/test_DataVariant.cpp b/tests/test_DataVariant.cpp
index e8ce0a3c4f10d52987a486723d0c057894636b90..1fa8cf72be599782c25fd88f22613e465df818e8 100644
--- a/tests/test_DataVariant.cpp
+++ b/tests/test_DataVariant.cpp
@@ -10,11 +10,11 @@ TEST_CASE("DataVariant", "[language]")
 {
   SECTION("AggregateDataVariant")
   {
-    AggregateDataVariant aggregate{std::vector<DataVariant>{double{1.3}, int64_t{-3}}};
+    AggregateDataVariant aggregate{std::vector<DataVariant>{double{1.3}, int64_t{-3}, std::vector<double>{1, 2.7}}};
 
     SECTION("size")
     {
-      REQUIRE(aggregate.size() == 2);
+      REQUIRE(aggregate.size() == 3);
     }
 
     SECTION("output")
@@ -23,7 +23,7 @@ TEST_CASE("DataVariant", "[language]")
       aggregate_output << aggregate;
 
       std::stringstream expected_output;
-      expected_output << '(' << double{1.3} << ", " << int64_t{-3} << ')';
+      expected_output << '(' << double{1.3} << ", " << int64_t{-3} << ", (" << 1 << ", " << 2.7 << "))";
       REQUIRE(aggregate_output.str() == expected_output.str());
     }
 
@@ -31,6 +31,7 @@ TEST_CASE("DataVariant", "[language]")
     {
       REQUIRE(std::get<double>(aggregate[0]) == double{1.3});
       REQUIRE(std::get<int64_t>(aggregate[1]) == int64_t{-3});
+      REQUIRE(std::get<std::vector<double>>(aggregate[2]) == std::vector<double>{1, 2.7});
     }
 
     SECTION("Copy")
@@ -45,6 +46,7 @@ TEST_CASE("DataVariant", "[language]")
 
       REQUIRE(std::get<double>(aggregate[0]) == std::get<double>(aggregate_copy[0]));
       REQUIRE(std::get<int64_t>(aggregate[1]) == std::get<int64_t>(aggregate_copy[1]));
+      REQUIRE(std::get<std::vector<double>>(aggregate[2]) == std::get<std::vector<double>>(aggregate_copy[2]));
     }
   }
 }