diff --git a/examples/Particle-Tracking/CMakeLists.txt b/examples/Particle-Tracking/CMakeLists.txt
index ed4e4313d69e6072bd057a2f5135a0f5c81448b1..65ae6894aa7b45cfacdf277698969e95431f7808 100644
--- a/examples/Particle-Tracking/CMakeLists.txt
+++ b/examples/Particle-Tracking/CMakeLists.txt
@@ -1,33 +1,8 @@
-# TGV flow with passive particle trackers
-set(case "TGV-Particles")
-set(case_dir "${test_dir}/${case}")
-file(MAKE_DIRECTORY ${case_dir})
-set(input_file "input_tgv_particles.i3d")
-install(DIRECTORY DESTINATION ${CMAKE_INSTALL_PREFIX}/examples/${case})
-install(FILES ${input_file} DESTINATION ${CMAKE_INSTALL_PREFIX}/examples/${case})
-if(ADIOS2_FOUND)
-  install(FILES adios2_config.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/examples/${case})
-endif()
-# If testing active add test
-file(COPY ${input_file} DESTINATION ${case_dir})
-if(ADIOS2_FOUND)
-  file(COPY adios2_config.xml DESTINATION ${case_dir})
-endif()
-add_test(NAME ${case} COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} $<TARGET_FILE:xcompact3d> ${input_file} WORKING_DIRECTORY ${case_dir})
+# Particle-tracking
+set(case "Particle-tracking")
+set(example_files "")
+list(APPEND example_files "adios2_config.xml")
+list(APPEND example_files "input_channel_particles.i3d")
+AddExample("${examples_dir}" "${case}" "${example_files}")
+
 
-# Channel flow with constantly injected passive particle trackers
-set(case "Channel-Particles")
-set(case_dir "${test_dir}/${case}")
-file(MAKE_DIRECTORY ${case_dir})
-set(input_file "input_channel_particles.i3d")
-install(DIRECTORY DESTINATION ${CMAKE_INSTALL_PREFIX}/examples/${case})
-install(FILES ${input_file} DESTINATION ${CMAKE_INSTALL_PREFIX}/examples/${case})
-if(ADIOS2_FOUND)
-  install(FILES adios2_config.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/examples/${case})
-endif()
-# If testing active add test
-file(COPY ${input_file} DESTINATION ${case_dir})
-if(ADIOS2_FOUND)
-  file(COPY adios2_config.xml DESTINATION ${case_dir})
-endif()
-add_test(NAME ${case} COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} $<TARGET_FILE:xcompact3d> ${input_file} WORKING_DIRECTORY ${case_dir})
diff --git a/examples/Particle-Tracking/adios2_config.xml b/examples/Particle-Tracking/adios2_config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..20a156f181462fb6d3838425c28fc1618f5e68f2
--- /dev/null
+++ b/examples/Particle-Tracking/adios2_config.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<adios-config>
+  <io name="solution-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="in-outflow-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="turb-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="restart-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="statistics-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="restart-forces-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+</adios-config>
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 7c5193896000e5e268c71eca954bde299283904e..34f9f93cb78cc7db3a2dca511aa1992122102e01 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -24,6 +24,7 @@ if (${BUILD_TESTING_FULL})
   add_subdirectory(Gravity-current)
   add_subdirectory(MHD)
   add_subdirectory(Mixing-layer)
+  add_subdirectory(Particle-Tracking)
   add_subdirectory(Periodic-hill)
   add_subdirectory(TBL-Turbulent-Boundary-Layer)
   add_subdirectory(Wind-Turbine)
diff --git a/tests/Particle-Tracking/CMakeLists.txt b/tests/Particle-Tracking/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a607ff431242a68ec061bfc0453a43b972854968
--- /dev/null
+++ b/tests/Particle-Tracking/CMakeLists.txt
@@ -0,0 +1,10 @@
+# Particles
+set(case "Particle-Tracking-Channel")
+set(input_file "input_channel_particle_test.i3d")
+set(additional_inputs "")
+CreateMPITest(${test_dir} ${case} ${input_file} "${additional_inputs}")
+set(case "Particle-tracking-TGV")
+set(input_file "input_tgv_particle_test.i3d")
+set(additional_inputs "")
+CreateMPITest(${test_dir} ${case} ${input_file} "${additional_inputs}")
+
diff --git a/tests/Particle-Tracking/adios2_config.xml b/tests/Particle-Tracking/adios2_config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..20a156f181462fb6d3838425c28fc1618f5e68f2
--- /dev/null
+++ b/tests/Particle-Tracking/adios2_config.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<adios-config>
+  <io name="solution-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="in-outflow-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="turb-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="restart-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="statistics-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+  <io name="restart-forces-io">
+    <engine type="BP4">
+    </engine>
+    <transport type="File">
+      <parameter key="Library" value="fstream"/>
+      <parameter key="ProfileUnits" value="Milliseconds"/>
+    </transport>
+  </io>
+</adios-config>
diff --git a/examples/Particle-Tracking/input_channel_particles.i3d b/tests/Particle-Tracking/input_channel_particles_test.i3d
similarity index 100%
rename from examples/Particle-Tracking/input_channel_particles.i3d
rename to tests/Particle-Tracking/input_channel_particles_test.i3d
diff --git a/examples/Particle-Tracking/input_tgv_particles.i3d b/tests/Particle-Tracking/input_tgv_particles_test.i3d
similarity index 100%
rename from examples/Particle-Tracking/input_tgv_particles.i3d
rename to tests/Particle-Tracking/input_tgv_particles_test.i3d