diff --git a/tests/test_ASTSymbolInitializationChecker.cpp b/tests/test_ASTSymbolInitializationChecker.cpp
index 8f05d87b8207bea795025d757063ae8a35b4f2b7..46c9add1f68ea285dd48fd11dace87fb955e5777 100644
--- a/tests/test_ASTSymbolInitializationChecker.cpp
+++ b/tests/test_ASTSymbolInitializationChecker.cpp
@@ -69,7 +69,7 @@ m = n;
     REQUIRE(not symbol_z->attributes().isInitialized());
   }
 
-  SECTION("Declarative initialization")
+  SECTION("Declarative function initialization")
   {
     std::string_view data = R"(
 let f: R->R, x->x+1;
@@ -89,6 +89,83 @@ let f: R->R, x->x+1;
     REQUIRE(symbol_m->attributes().isInitialized());
   }
 
+  SECTION("Lists")
+  {
+    SECTION("Declarative initialization")
+    {
+      std::string_view data = R"(
+R*R (x,y) = (2.3, 4.1);
+)";
+
+      string_input input{data, "test.pgs"};
+      auto ast = ASTBuilder::build(input);
+
+      ASTSymbolTableBuilder{*ast};
+      ASTSymbolInitializationChecker{*ast};
+
+      position position{internal::iterator{"fixture"}, "fixture"};
+      position.byte = data.size();   // ensure that variables are declared at this point
+
+      auto [symbol_x, found_x] = ast->m_symbol_table->find("x", position);
+      REQUIRE(found_x);
+      REQUIRE(symbol_x->attributes().isInitialized());
+
+      auto [symbol_y, found_y] = ast->m_symbol_table->find("y", position);
+      REQUIRE(found_y);
+      REQUIRE(symbol_y->attributes().isInitialized());
+    }
+
+    SECTION("Not initialized")
+    {
+      std::string_view data = R"(
+R*R (x,y);
+y = 3;
+)";
+
+      string_input input{data, "test.pgs"};
+      auto ast = ASTBuilder::build(input);
+
+      ASTSymbolTableBuilder{*ast};
+      ASTSymbolInitializationChecker{*ast};
+
+      position position{internal::iterator{"fixture"}, "fixture"};
+      position.byte = data.size();   // ensure that variables are declared at this point
+
+      auto [symbol_x, found_x] = ast->m_symbol_table->find("x", position);
+      REQUIRE(found_x);
+      REQUIRE(not symbol_x->attributes().isInitialized());
+
+      auto [symbol_y, found_y] = ast->m_symbol_table->find("y", position);
+      REQUIRE(found_y);
+      REQUIRE(symbol_y->attributes().isInitialized());
+    }
+
+    SECTION("Affectation")
+    {
+      std::string_view data = R"(
+R*R (x,y);
+(x,y) = (2.3, 4.1);
+)";
+
+      string_input input{data, "test.pgs"};
+      auto ast = ASTBuilder::build(input);
+
+      ASTSymbolTableBuilder{*ast};
+      ASTSymbolInitializationChecker{*ast};
+
+      position position{internal::iterator{"fixture"}, "fixture"};
+      position.byte = data.size();   // ensure that variables are declared at this point
+
+      auto [symbol_x, found_x] = ast->m_symbol_table->find("x", position);
+      REQUIRE(found_x);
+      REQUIRE(symbol_x->attributes().isInitialized());
+
+      auto [symbol_y, found_y] = ast->m_symbol_table->find("y", position);
+      REQUIRE(found_y);
+      REQUIRE(symbol_y->attributes().isInitialized());
+    }
+  }
+
   SECTION("errors")
   {
     SECTION("used uninitialized")
@@ -102,7 +179,23 @@ N m = n;
       auto ast = ASTBuilder::build(input);
 
       ASTSymbolTableBuilder{*ast};
-      REQUIRE_THROWS_AS(ASTSymbolInitializationChecker{*ast}, parse_error);
+      REQUIRE_THROWS_WITH(ASTSymbolInitializationChecker{*ast}, std::string{"uninitialized symbol 'n'"});
+    }
+
+    SECTION("used uninitialized in list affectation")
+    {
+      std::string_view data = R"(
+N k;
+N*R (l, x);
+
+(k, x) = (l, 3.2);
+)";
+
+      string_input input{data, "test.pgs"};
+      auto ast = ASTBuilder::build(input);
+
+      ASTSymbolTableBuilder{*ast};
+      REQUIRE_THROWS_WITH(ASTSymbolInitializationChecker{*ast}, std::string{"uninitialized symbol 'l'"});
     }
 
     SECTION("used uninitialized in function")
@@ -116,7 +209,7 @@ let f : R->R, x->x+y;
       auto ast = ASTBuilder::build(input);
 
       ASTSymbolTableBuilder{*ast};
-      REQUIRE_THROWS_AS(ASTSymbolInitializationChecker{*ast}, parse_error);
+      REQUIRE_THROWS_WITH(ASTSymbolInitializationChecker{*ast}, std::string{"uninitialized symbol 'y'"});
     }
   }
 }