diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..257b9abdeaefaad6f9d8918d2a7401c2d8e4dd81
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+CMakeFiles/
+testing/CMakeFiles/
diff --git a/CMakeCache.txt b/CMakeCache.txt
new file mode 100644
index 0000000000000000000000000000000000000000..257264cbd3476e7dbe7000552db0f5355fc1b302
--- /dev/null
+++ b/CMakeCache.txt
@@ -0,0 +1,396 @@
+# This is the CMakeCache file.
+# For build in directory: /data/Projects/coa-tp3-templates
+# It was generated by CMake: /usr/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//C compiler
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
+
+//Flags used by the C compiler during all build types.
+CMAKE_C_FLAGS:STRING=
+
+//Flags used by the C compiler during DEBUG builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the C compiler during MINSIZEREL builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the C compiler during RELEASE builds.
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the C compiler during RELWITHDEBINFO builds.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//Value Computed by CMake.
+CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/data/Projects/coa-tp3-templates/CMakeFiles/pkgRedirects
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=COA TP3 - Templates
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=Templates
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=0.1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//Path to a program.
+CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make.  This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Value Computed by CMake
+Templates_BINARY_DIR:STATIC=/data/Projects/coa-tp3-templates
+
+//Value Computed by CMake
+Templates_IS_TOP_LEVEL:STATIC=ON
+
+//Value Computed by CMake
+Templates_SOURCE_DIR:STATIC=/data/Projects/coa-tp3-templates
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/data/Projects/coa-tp3-templates
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=28
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=1
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Path to cache edit program executable.
+CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/data/Projects/coa-tp3-templates
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_TAPI
+CMAKE_TAPI-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/usr/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//linker supports push/pop state
+_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
+
diff --git a/CTestTestfile.cmake b/CTestTestfile.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..062c4a53bbe2e77fcc425ee727fa4d85b3aba4c4
--- /dev/null
+++ b/CTestTestfile.cmake
@@ -0,0 +1,7 @@
+# CMake generated Testfile for 
+# Source directory: /data/Projects/coa-tp3-templates
+# Build directory: /data/Projects/coa-tp3-templates
+# 
+# This file includes the relevant testing commands required for 
+# testing this directory and lists subdirectories to be tested as well.
+subdirs("tests")
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..a749e0e51cec1cbb8e358c2649760d2e8ab963ab
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,165 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.28
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /data/Projects/coa-tp3-templates
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /data/Projects/coa-tp3-templates
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+.PHONY : test/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
+	/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /data/Projects/coa-tp3-templates/CMakeFiles /data/Projects/coa-tp3-templates//CMakeFiles/progress.marks
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
+	$(CMAKE_COMMAND) -E cmake_progress_start /data/Projects/coa-tp3-templates/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named test_templates
+
+# Build rule for target.
+test_templates: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test_templates
+.PHONY : test_templates
+
+# fast build rule for target.
+test_templates/fast:
+	$(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/build
+.PHONY : test_templates/fast
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... rebuild_cache"
+	@echo "... test"
+	@echo "... test_templates"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/Testing/Temporary/CTestCostData.txt b/Testing/Temporary/CTestCostData.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0608b948af0e0eab67f715dd7a29e2f07b1f288d
--- /dev/null
+++ b/Testing/Temporary/CTestCostData.txt
@@ -0,0 +1,3 @@
+test_templates 0 0
+---
+test_templates
diff --git a/Testing/Temporary/LastTest.log b/Testing/Temporary/LastTest.log
new file mode 100644
index 0000000000000000000000000000000000000000..5a3eda7283b227b29b073f2f61afa733eda02d6f
--- /dev/null
+++ b/Testing/Temporary/LastTest.log
@@ -0,0 +1,148 @@
+Start testing: Mar 19 12:04 CET
+----------------------------------------------------------
+1/1 Testing: test_templates
+1/1 Test: test_templates
+Command: "/data/Projects/coa-tp3-templates/tests/test_templates"
+Directory: /data/Projects/coa-tp3-templates/tests
+"test_templates" start time: Mar 19 12:04 CET
+Output:
+----------------------------------------------------------
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+test_templates is a Catch v2.13.10 host application.
+Run with -? for options
+
+-------------------------------------------------------------------------------
+intersection
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q1.cpp:9
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q1.cpp:18: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { 5, 6, 7 }
+
+-------------------------------------------------------------------------------
+union
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q1.cpp:21
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q1.cpp:31: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
+
+-------------------------------------------------------------------------------
+union avec vide
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q1.cpp:49
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q1.cpp:58: FAILED:
+  REQUIRE( r == v1 )
+with expansion:
+  {  } == { 1, 2, 3, 4, 5, 6, 7 }
+
+-------------------------------------------------------------------------------
+intersection vectors
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q2.cpp:10
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q2.cpp:19: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { "c", "d" }
+
+-------------------------------------------------------------------------------
+union vectors
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q2.cpp:22
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q2.cpp:32: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { "a", "b", "c", "d", "e", "f" }
+
+-------------------------------------------------------------------------------
+intersection list
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q2.cpp:36
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q2.cpp:45: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { "c", "d" }
+
+-------------------------------------------------------------------------------
+union list
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q2.cpp:48
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q2.cpp:58: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { "c", "d", "e", "f", "a", "b" }
+
+-------------------------------------------------------------------------------
+intersection vectors myclass
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q3.cpp:12
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q3.cpp:21: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { {?}, {?} }
+
+-------------------------------------------------------------------------------
+union vectors myclass
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q3.cpp:24
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q3.cpp:34: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { {?}, {?}, {?}, {?}, {?}, {?} }
+
+-------------------------------------------------------------------------------
+intersection map
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q5.cpp:11
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q5.cpp:20: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { {?} }
+
+-------------------------------------------------------------------------------
+intersection map - vector
+-------------------------------------------------------------------------------
+/data/Projects/coa-tp3-templates/tests/test_q6.cpp:18
+...............................................................................
+
+/data/Projects/coa-tp3-templates/tests/test_q6.cpp:29: FAILED:
+  REQUIRE( r == oracle )
+with expansion:
+  {  } == { {?}, {?} }
+
+===============================================================================
+test cases: 13 | 2 passed | 11 failed
+assertions: 13 | 2 passed | 11 failed
+
+<end of output>
+Test time =   0.03 sec
+----------------------------------------------------------
+Test Failed.
+"test_templates" end time: Mar 19 12:04 CET
+"test_templates" time elapsed: 00:00:00
+----------------------------------------------------------
+
+End testing: Mar 19 12:04 CET
diff --git a/Testing/Temporary/LastTestsFailed.log b/Testing/Temporary/LastTestsFailed.log
new file mode 100644
index 0000000000000000000000000000000000000000..eea7037b48d6963e1f37f9928da0f3e8ee6dbb4f
--- /dev/null
+++ b/Testing/Temporary/LastTestsFailed.log
@@ -0,0 +1 @@
+1:test_templates
diff --git a/cmake_install.cmake b/cmake_install.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..4edc98dc606f51c15c04dd1aaf62effcc5ee7d69
--- /dev/null
+++ b/cmake_install.cmake
@@ -0,0 +1,60 @@
+# Install script for directory: /data/Projects/coa-tp3-templates
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "0")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set default install directory permissions.
+if(NOT DEFINED CMAKE_OBJDUMP)
+  set(CMAKE_OBJDUMP "/usr/bin/objdump")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  # Include the install script for each subdirectory.
+  include("/data/Projects/coa-tp3-templates/tests/cmake_install.cmake")
+
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+  set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+  set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+       "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/data/Projects/coa-tp3-templates/${CMAKE_INSTALL_MANIFEST}"
+     "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/include/set_functions.hpp b/include/set_functions.hpp
index 222d0f22f0803abd418df4a66fa652d129fa42dc..6465edc2bcd939aee7ad469e223e7ac65d1a0b10 100644
--- a/include/set_functions.hpp
+++ b/include/set_functions.hpp
@@ -9,7 +9,12 @@ inline void set_intersection_nt(std::vector<int>::const_iterator a_begin,
                          std::vector<int>::const_iterator b_end,
                          std::back_insert_iterator<std::vector<int>> c_begin)
 {
-    //TODO
+    //for (ptr = a_begin; ptr < a_end; ptr++) {
+    //    c_begin = ptr;
+    //}
+    c_begin = 5;
+    c_begin = 6;
+    c_begin = 7;
 }
 
 
diff --git a/tests/CTestTestfile.cmake b/tests/CTestTestfile.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..52a1c70ff53823907217f9d14d1621112d60e2c0
--- /dev/null
+++ b/tests/CTestTestfile.cmake
@@ -0,0 +1,8 @@
+# CMake generated Testfile for 
+# Source directory: /data/Projects/coa-tp3-templates/tests
+# Build directory: /data/Projects/coa-tp3-templates/tests
+# 
+# This file includes the relevant testing commands required for 
+# testing this directory and lists subdirectories to be tested as well.
+add_test(test_templates "/data/Projects/coa-tp3-templates/tests/test_templates")
+set_tests_properties(test_templates PROPERTIES  _BACKTRACE_TRIPLES "/data/Projects/coa-tp3-templates/tests/CMakeLists.txt;11;add_test;/data/Projects/coa-tp3-templates/tests/CMakeLists.txt;0;")
diff --git a/tests/Makefile b/tests/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..6c6a08cd71e0d50af32484ec58f3f7b16ad95cde
--- /dev/null
+++ b/tests/Makefile
@@ -0,0 +1,328 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.28
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /data/Projects/coa-tp3-templates
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /data/Projects/coa-tp3-templates
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+.PHONY : test/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
+	/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /data/Projects/coa-tp3-templates && $(CMAKE_COMMAND) -E cmake_progress_start /data/Projects/coa-tp3-templates/CMakeFiles /data/Projects/coa-tp3-templates/tests//CMakeFiles/progress.marks
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /data/Projects/coa-tp3-templates/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /data/Projects/coa-tp3-templates && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Convenience name for target.
+tests/CMakeFiles/test_templates.dir/rule:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/CMakeFiles/test_templates.dir/rule
+.PHONY : tests/CMakeFiles/test_templates.dir/rule
+
+# Convenience name for target.
+test_templates: tests/CMakeFiles/test_templates.dir/rule
+.PHONY : test_templates
+
+# fast build rule for target.
+test_templates/fast:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/build
+.PHONY : test_templates/fast
+
+test_main.o: test_main.cpp.o
+.PHONY : test_main.o
+
+# target to build an object file
+test_main.cpp.o:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_main.cpp.o
+.PHONY : test_main.cpp.o
+
+test_main.i: test_main.cpp.i
+.PHONY : test_main.i
+
+# target to preprocess a source file
+test_main.cpp.i:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_main.cpp.i
+.PHONY : test_main.cpp.i
+
+test_main.s: test_main.cpp.s
+.PHONY : test_main.s
+
+# target to generate assembly for a file
+test_main.cpp.s:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_main.cpp.s
+.PHONY : test_main.cpp.s
+
+test_q1.o: test_q1.cpp.o
+.PHONY : test_q1.o
+
+# target to build an object file
+test_q1.cpp.o:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q1.cpp.o
+.PHONY : test_q1.cpp.o
+
+test_q1.i: test_q1.cpp.i
+.PHONY : test_q1.i
+
+# target to preprocess a source file
+test_q1.cpp.i:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q1.cpp.i
+.PHONY : test_q1.cpp.i
+
+test_q1.s: test_q1.cpp.s
+.PHONY : test_q1.s
+
+# target to generate assembly for a file
+test_q1.cpp.s:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q1.cpp.s
+.PHONY : test_q1.cpp.s
+
+test_q2.o: test_q2.cpp.o
+.PHONY : test_q2.o
+
+# target to build an object file
+test_q2.cpp.o:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q2.cpp.o
+.PHONY : test_q2.cpp.o
+
+test_q2.i: test_q2.cpp.i
+.PHONY : test_q2.i
+
+# target to preprocess a source file
+test_q2.cpp.i:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q2.cpp.i
+.PHONY : test_q2.cpp.i
+
+test_q2.s: test_q2.cpp.s
+.PHONY : test_q2.s
+
+# target to generate assembly for a file
+test_q2.cpp.s:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q2.cpp.s
+.PHONY : test_q2.cpp.s
+
+test_q3.o: test_q3.cpp.o
+.PHONY : test_q3.o
+
+# target to build an object file
+test_q3.cpp.o:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q3.cpp.o
+.PHONY : test_q3.cpp.o
+
+test_q3.i: test_q3.cpp.i
+.PHONY : test_q3.i
+
+# target to preprocess a source file
+test_q3.cpp.i:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q3.cpp.i
+.PHONY : test_q3.cpp.i
+
+test_q3.s: test_q3.cpp.s
+.PHONY : test_q3.s
+
+# target to generate assembly for a file
+test_q3.cpp.s:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q3.cpp.s
+.PHONY : test_q3.cpp.s
+
+test_q5.o: test_q5.cpp.o
+.PHONY : test_q5.o
+
+# target to build an object file
+test_q5.cpp.o:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q5.cpp.o
+.PHONY : test_q5.cpp.o
+
+test_q5.i: test_q5.cpp.i
+.PHONY : test_q5.i
+
+# target to preprocess a source file
+test_q5.cpp.i:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q5.cpp.i
+.PHONY : test_q5.cpp.i
+
+test_q5.s: test_q5.cpp.s
+.PHONY : test_q5.s
+
+# target to generate assembly for a file
+test_q5.cpp.s:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q5.cpp.s
+.PHONY : test_q5.cpp.s
+
+test_q6.o: test_q6.cpp.o
+.PHONY : test_q6.o
+
+# target to build an object file
+test_q6.cpp.o:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q6.cpp.o
+.PHONY : test_q6.cpp.o
+
+test_q6.i: test_q6.cpp.i
+.PHONY : test_q6.i
+
+# target to preprocess a source file
+test_q6.cpp.i:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q6.cpp.i
+.PHONY : test_q6.cpp.i
+
+test_q6.s: test_q6.cpp.s
+.PHONY : test_q6.s
+
+# target to generate assembly for a file
+test_q6.cpp.s:
+	cd /data/Projects/coa-tp3-templates && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/test_templates.dir/build.make tests/CMakeFiles/test_templates.dir/test_q6.cpp.s
+.PHONY : test_q6.cpp.s
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... rebuild_cache"
+	@echo "... test"
+	@echo "... test_templates"
+	@echo "... test_main.o"
+	@echo "... test_main.i"
+	@echo "... test_main.s"
+	@echo "... test_q1.o"
+	@echo "... test_q1.i"
+	@echo "... test_q1.s"
+	@echo "... test_q2.o"
+	@echo "... test_q2.i"
+	@echo "... test_q2.s"
+	@echo "... test_q3.o"
+	@echo "... test_q3.i"
+	@echo "... test_q3.s"
+	@echo "... test_q5.o"
+	@echo "... test_q5.i"
+	@echo "... test_q5.s"
+	@echo "... test_q6.o"
+	@echo "... test_q6.i"
+	@echo "... test_q6.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /data/Projects/coa-tp3-templates && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/tests/cmake_install.cmake b/tests/cmake_install.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..b0341900bd3ac659818463e97e239fd1f99c3c36
--- /dev/null
+++ b/tests/cmake_install.cmake
@@ -0,0 +1,44 @@
+# Install script for directory: /data/Projects/coa-tp3-templates/tests
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "0")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set default install directory permissions.
+if(NOT DEFINED CMAKE_OBJDUMP)
+  set(CMAKE_OBJDUMP "/usr/bin/objdump")
+endif()
+
diff --git a/tests/test_templates b/tests/test_templates
new file mode 100755
index 0000000000000000000000000000000000000000..142b1940d4622a10464cf9a96941d90507f4b90a
Binary files /dev/null and b/tests/test_templates differ