From 700bfa0daec8d01524329c7d3f766818e7c7136c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Mon, 26 Apr 2021 11:16:50 +0200
Subject: [PATCH] Fix unit_tests standalone run

Modules and their contents were not filled properly when running
tests one by one
---
 ...ASTNodeBinaryOperatorExpressionBuilder.cpp |  4 ++++
 tests/test_ASTNodeDataTypeBuilder.cpp         | 24 ++++++++++++++++++-
 tests/test_ASTNodeDataTypeChecker.cpp         |  8 +++++++
 tests/test_ASTNodeDataTypeFlattener.cpp       | 19 +++++++++++++++
 ...TNodeDeclarationToAffectationConverter.cpp |  5 ++++
 tests/test_ASTNodeEmptyBlockCleaner.cpp       |  4 ++++
 tests/test_ASTNodeExpressionBuilder.cpp       | 11 +++++++++
 tests/test_ASTNodeIncDecExpressionBuilder.cpp |  7 ++++++
 ...STNodeListAffectationExpressionBuilder.cpp |  7 ++++++
 tests/test_ASTNodeTypeCleaner.cpp             |  4 ++++
 ..._ASTNodeUnaryOperatorExpressionBuilder.cpp |  7 ++++++
 tests/test_AffectationToStringProcessor.cpp   |  4 ++++
 tests/test_AffectationToTupleProcessor.cpp    |  4 ++++
 .../test_BinaryExpressionProcessor_utils.hpp  |  7 ++++++
 tests/test_ConcatExpressionProcessor.cpp      |  4 ++++
 tests/test_DoWhileProcessor.cpp               |  7 ++++++
 tests/test_ForProcessor.cpp                   |  7 ++++++
 tests/test_IfProcessor.cpp                    |  7 ++++++
 tests/test_IncDecExpressionProcessor.cpp      |  7 ++++++
 tests/test_ListAffectationProcessor.cpp       |  4 ++++
 tests/test_NameProcessor.cpp                  |  4 ++++
 tests/test_UnaryExpressionProcessor.cpp       |  4 ++++
 tests/test_WhileProcessor.cpp                 |  4 ++++
 23 files changed, 162 insertions(+), 1 deletion(-)

diff --git a/tests/test_ASTNodeBinaryOperatorExpressionBuilder.cpp b/tests/test_ASTNodeBinaryOperatorExpressionBuilder.cpp
index d9b5d2456..b99aa0459 100644
--- a/tests/test_ASTNodeBinaryOperatorExpressionBuilder.cpp
+++ b/tests/test_ASTNodeBinaryOperatorExpressionBuilder.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeBinaryOperatorExpressionBuilder.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
@@ -22,6 +23,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                      \
     auto ast = ASTBuilder::build(input);                                                            \
                                                                                                     \
+    ASTModulesImporter{*ast};                                                                       \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                         \
+                                                                                                    \
     ASTSymbolTableBuilder{*ast};                                                                    \
     ASTNodeDataTypeBuilder{*ast};                                                                   \
                                                                                                     \
diff --git a/tests/test_ASTNodeDataTypeBuilder.cpp b/tests/test_ASTNodeDataTypeBuilder.cpp
index be1f60db8..346807df3 100644
--- a/tests/test_ASTNodeDataTypeBuilder.cpp
+++ b/tests/test_ASTNodeDataTypeBuilder.cpp
@@ -2,7 +2,9 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
+#include <language/ast/ASTNodeTypeCleaner.hpp>
 #include <language/ast/ASTSymbolTableBuilder.hpp>
 #include <language/utils/ASTNodeDataTypeTraits.hpp>
 #include <language/utils/ASTPrinter.hpp>
@@ -20,6 +22,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                      \
     auto ast = ASTBuilder::build(input);                                                            \
                                                                                                     \
+    ASTModulesImporter{*ast};                                                                       \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                         \
+                                                                                                    \
     ASTSymbolTableBuilder{*ast};                                                                    \
     ASTNodeDataTypeBuilder{*ast};                                                                   \
                                                                                                     \
@@ -78,7 +83,16 @@ import a_module_name;
      `-(language::module_name:string)
 )";
 
-    CHECK_AST(data, result);
+    TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
+    auto ast = ASTBuilder::build(input);
+
+    ASTSymbolTableBuilder{*ast};
+    ASTNodeDataTypeBuilder{*ast};
+
+    std::stringstream ast_output;
+    ast_output << '\n' << ASTPrinter{*ast, ASTPrinter::Format::raw, {ASTPrinter::Info::data_type}};
+
+    REQUIRE(ast_output.str() == result);
   }
 
   SECTION("integer")
@@ -1036,6 +1050,10 @@ let f : R -> R*R, x -> x*x*x;
 )";
         TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
         auto ast = ASTBuilder::build(input);
+
+        ASTModulesImporter{*ast};
+        ASTNodeTypeCleaner<language::import_instruction>{*ast};
+
         ASTSymbolTableBuilder{*ast};
 
         REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast},
@@ -1049,6 +1067,10 @@ let f : R -> R^2x2, x -> (x, 2*x, 2);
 )";
         TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
         auto ast = ASTBuilder::build(input);
+
+        ASTModulesImporter{*ast};
+        ASTNodeTypeCleaner<language::import_instruction>{*ast};
+
         ASTSymbolTableBuilder{*ast};
 
         REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast},
diff --git a/tests/test_ASTNodeDataTypeChecker.cpp b/tests/test_ASTNodeDataTypeChecker.cpp
index 4c8dc8cf0..5c0fc6d8f 100644
--- a/tests/test_ASTNodeDataTypeChecker.cpp
+++ b/tests/test_ASTNodeDataTypeChecker.cpp
@@ -2,8 +2,10 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDataTypeChecker.hpp>
+#include <language/ast/ASTNodeTypeCleaner.hpp>
 #include <language/ast/ASTSymbolTableBuilder.hpp>
 #include <language/utils/ParseError.hpp>
 
@@ -25,6 +27,9 @@ for(let i:Z, i=0; i<10; ++i) {
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
     auto ast = ASTBuilder::build(input);
 
+    ASTModulesImporter{*ast};
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};
+
     ASTSymbolTableBuilder{*ast};
     ASTNodeDataTypeBuilder{*ast};
 
@@ -43,6 +48,9 @@ for(let i:Z, i=0; i<10; ++i) {
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
     auto ast = ASTBuilder::build(input);
 
+    ASTModulesImporter{*ast};
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};
+
     ASTSymbolTableBuilder{*ast};
     ASTNodeDataTypeBuilder{*ast};
 
diff --git a/tests/test_ASTNodeDataTypeFlattener.cpp b/tests/test_ASTNodeDataTypeFlattener.cpp
index b39880da0..d4b4bbe6c 100644
--- a/tests/test_ASTNodeDataTypeFlattener.cpp
+++ b/tests/test_ASTNodeDataTypeFlattener.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDataTypeFlattener.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
@@ -28,6 +29,9 @@ b;
       TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
       auto root_node = ASTBuilder::build(input);
 
+      ASTModulesImporter{*root_node};
+      ASTNodeTypeCleaner<language::import_instruction>{*root_node};
+
       ASTSymbolTableBuilder{*root_node};
       ASTNodeDataTypeBuilder{*root_node};
 
@@ -51,6 +55,9 @@ n;
       TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
       auto root_node = ASTBuilder::build(input);
 
+      ASTModulesImporter{*root_node};
+      ASTNodeTypeCleaner<language::import_instruction>{*root_node};
+
       ASTSymbolTableBuilder{*root_node};
       ASTNodeDataTypeBuilder{*root_node};
 
@@ -77,6 +84,9 @@ f(2);
       TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
       auto root_node = ASTBuilder::build(input);
 
+      ASTModulesImporter{*root_node};
+      ASTNodeTypeCleaner<language::import_instruction>{*root_node};
+
       ASTSymbolTableBuilder{*root_node};
       ASTNodeDataTypeBuilder{*root_node};
 
@@ -106,6 +116,9 @@ f(2);
       TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
       auto root_node = ASTBuilder::build(input);
 
+      ASTModulesImporter{*root_node};
+      ASTNodeTypeCleaner<language::import_instruction>{*root_node};
+
       ASTSymbolTableBuilder{*root_node};
       ASTNodeDataTypeBuilder{*root_node};
 
@@ -138,6 +151,9 @@ f(2);
       TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
       auto root_node = ASTBuilder::build(input);
 
+      ASTModulesImporter{*root_node};
+      ASTNodeTypeCleaner<language::import_instruction>{*root_node};
+
       ASTSymbolTableBuilder{*root_node};
       ASTNodeDataTypeBuilder{*root_node};
 
@@ -167,6 +183,9 @@ sum_vector(2,3);
       TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
       auto root_node = ASTBuilder::build(input);
 
+      ASTModulesImporter{*root_node};
+      ASTNodeTypeCleaner<language::import_instruction>{*root_node};
+
       test_only::test_BuiltinFunctionRegister{*root_node};
 
       ASTSymbolTableBuilder{*root_node};
diff --git a/tests/test_ASTNodeDeclarationToAffectationConverter.cpp b/tests/test_ASTNodeDeclarationToAffectationConverter.cpp
index c102d5f65..f38b7aaf7 100644
--- a/tests/test_ASTNodeDeclarationToAffectationConverter.cpp
+++ b/tests/test_ASTNodeDeclarationToAffectationConverter.cpp
@@ -2,8 +2,10 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
+#include <language/ast/ASTNodeTypeCleaner.hpp>
 #include <language/ast/ASTSymbolTableBuilder.hpp>
 #include <language/utils/ASTPrinter.hpp>
 
@@ -17,6 +19,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                 \
     auto ast = ASTBuilder::build(input);                                                       \
                                                                                                \
+    ASTModulesImporter{*ast};                                                                  \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                    \
+                                                                                               \
     ASTSymbolTableBuilder{*ast};                                                               \
     ASTNodeDataTypeBuilder{*ast};                                                              \
                                                                                                \
diff --git a/tests/test_ASTNodeEmptyBlockCleaner.cpp b/tests/test_ASTNodeEmptyBlockCleaner.cpp
index e9a7c4a5e..baf6978c6 100644
--- a/tests/test_ASTNodeEmptyBlockCleaner.cpp
+++ b/tests/test_ASTNodeEmptyBlockCleaner.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeEmptyBlockCleaner.hpp>
@@ -22,6 +23,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                      \
     auto ast = ASTBuilder::build(input);                                                            \
                                                                                                     \
+    ASTModulesImporter{*ast};                                                                       \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                         \
+                                                                                                    \
     ASTSymbolTableBuilder{*ast};                                                                    \
     ASTNodeDataTypeBuilder{*ast};                                                                   \
                                                                                                     \
diff --git a/tests/test_ASTNodeExpressionBuilder.cpp b/tests/test_ASTNodeExpressionBuilder.cpp
index 11eb9f161..cb6fdbfef 100644
--- a/tests/test_ASTNodeExpressionBuilder.cpp
+++ b/tests/test_ASTNodeExpressionBuilder.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -21,6 +22,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                      \
     auto ast = ASTBuilder::build(input);                                                            \
                                                                                                     \
+    ASTModulesImporter{*ast};                                                                       \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                         \
+                                                                                                    \
     ASTSymbolTableBuilder{*ast};                                                                    \
     ASTNodeDataTypeBuilder{*ast};                                                                   \
                                                                                                     \
@@ -39,6 +43,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};        \
     auto ast = ASTBuilder::build(input);                              \
                                                                       \
+    ASTModulesImporter{*ast};                                         \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};           \
+                                                                      \
     ASTSymbolTableBuilder{*ast};                                      \
                                                                       \
     REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast}, error_message); \
@@ -896,6 +903,10 @@ continue;
 
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
     auto ast = ASTBuilder::build(input);
+
+    ASTModulesImporter{*ast};
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};
+
     ASTSymbolTableBuilder{*ast};
     ASTNodeDataTypeBuilder{*ast};
 
diff --git a/tests/test_ASTNodeIncDecExpressionBuilder.cpp b/tests/test_ASTNodeIncDecExpressionBuilder.cpp
index 88d1518fc..78391f1ee 100644
--- a/tests/test_ASTNodeIncDecExpressionBuilder.cpp
+++ b/tests/test_ASTNodeIncDecExpressionBuilder.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -23,6 +24,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                      \
     auto ast = ASTBuilder::build(input);                                                            \
                                                                                                     \
+    ASTModulesImporter{*ast};                                                                       \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                         \
+                                                                                                    \
     ASTSymbolTableBuilder{*ast};                                                                    \
     ASTNodeDataTypeBuilder{*ast};                                                                   \
                                                                                                     \
@@ -46,6 +50,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                \
     auto ast = ASTBuilder::build(input);                                                      \
                                                                                               \
+    ASTModulesImporter{*ast};                                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                   \
+                                                                                              \
     ASTSymbolTableBuilder{*ast};                                                              \
     ASTNodeDataTypeBuilder{*ast};                                                             \
                                                                                               \
diff --git a/tests/test_ASTNodeListAffectationExpressionBuilder.cpp b/tests/test_ASTNodeListAffectationExpressionBuilder.cpp
index bcb8942e7..8ae86fa80 100644
--- a/tests/test_ASTNodeListAffectationExpressionBuilder.cpp
+++ b/tests/test_ASTNodeListAffectationExpressionBuilder.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -22,6 +23,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                      \
     auto ast = ASTBuilder::build(input);                                                            \
                                                                                                     \
+    ASTModulesImporter{*ast};                                                                       \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                         \
+                                                                                                    \
     ASTSymbolTableBuilder{*ast};                                                                    \
     ASTNodeDataTypeBuilder{*ast};                                                                   \
                                                                                                     \
@@ -45,6 +49,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                     \
     auto ast = ASTBuilder::build(input);                                           \
                                                                                    \
+    ASTModulesImporter{*ast};                                                      \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                        \
+                                                                                   \
     ASTSymbolTableBuilder{*ast};                                                   \
     ASTNodeDataTypeBuilder{*ast};                                                  \
                                                                                    \
diff --git a/tests/test_ASTNodeTypeCleaner.cpp b/tests/test_ASTNodeTypeCleaner.cpp
index e2ae69b46..e1abf88d6 100644
--- a/tests/test_ASTNodeTypeCleaner.cpp
+++ b/tests/test_ASTNodeTypeCleaner.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeTypeCleaner.hpp>
 #include <language/ast/ASTSymbolTableBuilder.hpp>
@@ -15,6 +16,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                 \
     auto ast = ASTBuilder::build(input);                                                       \
                                                                                                \
+    ASTModulesImporter{*ast};                                                                  \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                    \
+                                                                                               \
     ASTSymbolTableBuilder{*ast};                                                               \
     ASTNodeDataTypeBuilder{*ast};                                                              \
                                                                                                \
diff --git a/tests/test_ASTNodeUnaryOperatorExpressionBuilder.cpp b/tests/test_ASTNodeUnaryOperatorExpressionBuilder.cpp
index ae51cf9a0..d320aee02 100644
--- a/tests/test_ASTNodeUnaryOperatorExpressionBuilder.cpp
+++ b/tests/test_ASTNodeUnaryOperatorExpressionBuilder.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -22,6 +23,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                                      \
     auto ast = ASTBuilder::build(input);                                                            \
                                                                                                     \
+    ASTModulesImporter{*ast};                                                                       \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                                         \
+                                                                                                    \
     ASTSymbolTableBuilder{*ast};                                                                    \
     ASTNodeDataTypeBuilder{*ast};                                                                   \
                                                                                                     \
@@ -41,6 +45,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};        \
     auto ast = ASTBuilder::build(input);                              \
                                                                       \
+    ASTModulesImporter{*ast};                                         \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};           \
+                                                                      \
     ASTSymbolTableBuilder{*ast};                                      \
                                                                       \
     REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast}, error_message); \
diff --git a/tests/test_AffectationToStringProcessor.cpp b/tests/test_AffectationToStringProcessor.cpp
index a793a5cd8..01c7ba7b9 100644
--- a/tests/test_AffectationToStringProcessor.cpp
+++ b/tests/test_AffectationToStringProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeAffectationExpressionBuilder.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
@@ -20,6 +21,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
diff --git a/tests/test_AffectationToTupleProcessor.cpp b/tests/test_AffectationToTupleProcessor.cpp
index df2de1d07..650e60ca6 100644
--- a/tests/test_AffectationToTupleProcessor.cpp
+++ b/tests/test_AffectationToTupleProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeAffectationExpressionBuilder.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
@@ -20,6 +21,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
diff --git a/tests/test_BinaryExpressionProcessor_utils.hpp b/tests/test_BinaryExpressionProcessor_utils.hpp
index 7b32bff86..c8e3440cf 100644
--- a/tests/test_BinaryExpressionProcessor_utils.hpp
+++ b/tests/test_BinaryExpressionProcessor_utils.hpp
@@ -2,6 +2,7 @@
 #define TEST_BINARY_EXPRESSION_PROCESSOR_UTILS_HPP
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -18,6 +19,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
@@ -46,6 +50,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};        \
     auto ast = ASTBuilder::build(input);                              \
                                                                       \
+    ASTModulesImporter{*ast};                                         \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};           \
+                                                                      \
     ASTSymbolTableBuilder{*ast};                                      \
                                                                       \
     REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast}, error_message); \
diff --git a/tests/test_ConcatExpressionProcessor.cpp b/tests/test_ConcatExpressionProcessor.cpp
index eaa0f76f2..4c5e202b7 100644
--- a/tests/test_ConcatExpressionProcessor.cpp
+++ b/tests/test_ConcatExpressionProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeAffectationExpressionBuilder.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
@@ -20,6 +21,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
diff --git a/tests/test_DoWhileProcessor.cpp b/tests/test_DoWhileProcessor.cpp
index ccb056399..8e4f7a2c9 100644
--- a/tests/test_DoWhileProcessor.cpp
+++ b/tests/test_DoWhileProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeAffectationExpressionBuilder.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
@@ -20,6 +21,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
@@ -48,6 +52,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};        \
     auto ast = ASTBuilder::build(input);                              \
                                                                       \
+    ASTModulesImporter{*ast};                                         \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};           \
+                                                                      \
     ASTSymbolTableBuilder{*ast};                                      \
                                                                       \
     REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast}, error_message); \
diff --git a/tests/test_ForProcessor.cpp b/tests/test_ForProcessor.cpp
index e3d8a634e..a83482550 100644
--- a/tests/test_ForProcessor.cpp
+++ b/tests/test_ForProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeAffectationExpressionBuilder.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
@@ -20,6 +21,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
@@ -48,6 +52,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};        \
     auto ast = ASTBuilder::build(input);                              \
                                                                       \
+    ASTModulesImporter{*ast};                                         \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};           \
+                                                                      \
     ASTSymbolTableBuilder{*ast};                                      \
                                                                       \
     REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast}, error_message); \
diff --git a/tests/test_IfProcessor.cpp b/tests/test_IfProcessor.cpp
index 9b9da7d40..461f3a98f 100644
--- a/tests/test_IfProcessor.cpp
+++ b/tests/test_IfProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -18,6 +19,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
@@ -46,6 +50,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};        \
     auto ast = ASTBuilder::build(input);                              \
                                                                       \
+    ASTModulesImporter{*ast};                                         \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};           \
+                                                                      \
     ASTSymbolTableBuilder{*ast};                                      \
                                                                       \
     REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast}, error_message); \
diff --git a/tests/test_IncDecExpressionProcessor.cpp b/tests/test_IncDecExpressionProcessor.cpp
index 62e3d531f..5075ee900 100644
--- a/tests/test_IncDecExpressionProcessor.cpp
+++ b/tests/test_IncDecExpressionProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -18,6 +19,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
@@ -46,6 +50,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};        \
     auto ast = ASTBuilder::build(input);                              \
                                                                       \
+    ASTModulesImporter{*ast};                                         \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};           \
+                                                                      \
     ASTSymbolTableBuilder{*ast};                                      \
                                                                       \
     REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast}, error_message); \
diff --git a/tests/test_ListAffectationProcessor.cpp b/tests/test_ListAffectationProcessor.cpp
index f809884c3..94dc1845c 100644
--- a/tests/test_ListAffectationProcessor.cpp
+++ b/tests/test_ListAffectationProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -18,6 +19,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
diff --git a/tests/test_NameProcessor.cpp b/tests/test_NameProcessor.cpp
index ac6b8174d..30e20339a 100644
--- a/tests/test_NameProcessor.cpp
+++ b/tests/test_NameProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -27,6 +28,9 @@ n = 2;
   TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
   auto ast = ASTBuilder::build(input);
 
+  ASTModulesImporter{*ast};
+  ASTNodeTypeCleaner<language::import_instruction>{*ast};
+
   ASTSymbolTableBuilder{*ast};
   ASTNodeDataTypeBuilder{*ast};
 
diff --git a/tests/test_UnaryExpressionProcessor.cpp b/tests/test_UnaryExpressionProcessor.cpp
index 84b3bc0c8..f63e45d1f 100644
--- a/tests/test_UnaryExpressionProcessor.cpp
+++ b/tests/test_UnaryExpressionProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
@@ -18,6 +19,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
diff --git a/tests/test_WhileProcessor.cpp b/tests/test_WhileProcessor.cpp
index 33f1d9488..e886b6213 100644
--- a/tests/test_WhileProcessor.cpp
+++ b/tests/test_WhileProcessor.cpp
@@ -2,6 +2,7 @@
 #include <catch2/matchers/catch_matchers_all.hpp>
 
 #include <language/ast/ASTBuilder.hpp>
+#include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeAffectationExpressionBuilder.hpp>
 #include <language/ast/ASTNodeDataTypeBuilder.hpp>
 #include <language/ast/ASTNodeDeclarationToAffectationConverter.hpp>
@@ -19,6 +20,9 @@
     TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};                \
     auto ast = ASTBuilder::build(input);                                      \
                                                                               \
+    ASTModulesImporter{*ast};                                                 \
+    ASTNodeTypeCleaner<language::import_instruction>{*ast};                   \
+                                                                              \
     ASTSymbolTableBuilder{*ast};                                              \
     ASTNodeDataTypeBuilder{*ast};                                             \
                                                                               \
-- 
GitLab