diff --git a/tests/BasicLbmScenarios/TestBasicLbmScenarios.cpp b/tests/BasicLbmScenarios/TestBasicLbmScenarios.cpp
index fd017d632fbb3463cb31d75b8b5f62d561491e93..2aca12901ad03f3dca908fd9ce0f2a2e2933987a 100644
--- a/tests/BasicLbmScenarios/TestBasicLbmScenarios.cpp
+++ b/tests/BasicLbmScenarios/TestBasicLbmScenarios.cpp
@@ -8,8 +8,8 @@
 #include "vtk/all.h"
 
 #include <array>
-
 #include <iostream>
+#include <map>
 
 #include "SimDomain.hpp"
 
@@ -17,7 +17,7 @@ namespace BasicLbmScenarios
 {
 using namespace walberla;
 
-using TestFunction = std::function< void(mpi::Environment &) >;
+using TestFunction = std::function< void(mpi::Environment&) >;
 
 /**
  * Fully periodic force-driven flow.
@@ -62,7 +62,7 @@ void fullyPeriodic(mpi::Environment& env)
  */
 void mirroredHalfChannel(mpi::Environment& env)
 {
-   size_t zCells { 64 };
+   size_t zCells{ 64 };
    /**
     * Need one more cell in z-direction for the free-slip boundary to be on the inner layer
     */
@@ -73,19 +73,17 @@ void mirroredHalfChannel(mpi::Environment& env)
    /* Hagen-Poiseuille-law in lattice units */
    const real_t u_max{ 0.025 };
    const real_t reynolds{ 10.0 };
-   const real_t L_z{ real_c( 2 * zCells ) };
-   const real_t radius { L_z / 2.0 };
-   const real_t r_squared { radius * radius };
+   const real_t L_z{ real_c(2 * zCells) };
+   const real_t radius{ L_z / 2.0 };
+   const real_t r_squared{ radius * radius };
    const real_t lattice_viscosity{ L_z * u_max / reynolds };
-   const real_t omega { 2. / (6. * lattice_viscosity + 1.) };
-   const real_t acceleration { (u_max * 2.0 * lattice_viscosity) / r_squared };
+   const real_t omega{ 2. / (6. * lattice_viscosity + 1.) };
+   const real_t acceleration{ (u_max * 2.0 * lattice_viscosity) / r_squared };
 
    const Vector3< real_t > force{ acceleration, 0., 0. };
 
    auto velocityProfile = [&](real_t z) -> real_t {
-      return acceleration / (2.0 * lattice_viscosity) * (
-         r_squared - z * z
-      );
+      return acceleration / (2.0 * lattice_viscosity) * (r_squared - z * z);
    };
 
    dom.forAllBlocks([&](IBlock& block) {
@@ -106,10 +104,10 @@ void mirroredHalfChannel(mpi::Environment& env)
    dom.fields2device();
    dom.initFromFields(force);
 
-   auto streamCollide = dom.streamCollideSweep(omega, force);
-   auto noSlipTop = dom.noSlipTop();
+   auto streamCollide  = dom.streamCollideSweep(omega, force);
+   auto noSlipTop      = dom.noSlipTop();
    auto freeSlipBottom = dom.freeSlipBottom();
-   auto velOutput = field::createVTKOutput< VectorField_T >(dom.cpuFields.uId, *dom.blocks, "vel");
+   auto velOutput      = field::createVTKOutput< VectorField_T >(dom.cpuFields.uId, *dom.blocks, "vel");
 
    for (uint_t t = 0; t < 50; ++t)
    {
@@ -169,7 +167,7 @@ void freeSlipPipe(mpi::Environment& env)
    const real_t maxVelocity{ 0.02 };
    const Vector3< real_t > force{ 0., 0., 0. };
 
-   dom.forAllBlocks([&](IBlock & block) {
+   dom.forAllBlocks([&](IBlock& block) {
       FlagField_T& flagField = *block.getData< FlagField_T >(dom.cpuFields.flagFieldId);
       const uint8_t freeSlipFlag{ flagField.getOrRegisterFlag(freeSlipFlagUID) };
 
@@ -207,10 +205,8 @@ void freeSlipPipe(mpi::Environment& env)
    dom.fields2device();
    dom.initFromFields(force);
 
-   gen::bc_sparse::FreeSlipIrregular freeSlip{
-      dom.irregularFreeSlipFactory()
-         .fromFlagField< FlagField_T >(dom.cpuFields.flagFieldId, freeSlipFlagUID, fluidFlagUid)
-   };
+   gen::bc_sparse::FreeSlipIrregular freeSlip{ dom.irregularFreeSlipFactory().fromFlagField< FlagField_T >(
+      dom.cpuFields.flagFieldId, freeSlipFlagUID, fluidFlagUid) };
 
    auto streamCollide = dom.streamCollideSweep(1.0, force);
 
@@ -218,19 +214,17 @@ void freeSlipPipe(mpi::Environment& env)
 
    for (uint_t i = 0; i < 10; ++i)
    {
-      dom.forAllBlocks([&](IBlock & block){
-         streamCollide(&block);
-      });
+      dom.forAllBlocks([&](IBlock& block) { streamCollide(&block); });
       dom.syncGhostLayers();
 
       dom.fields2host();
 
-      dom.forAllBlocks([&](IBlock & block){
+      dom.forAllBlocks([&](IBlock& block) {
          VectorField_T& velField = *block.getData< VectorField_T >(dom.cpuFields.uId);
          FlagField_T& flagField  = *block.getData< FlagField_T >(dom.cpuFields.flagFieldId);
          uint8_t fluidFlag       = flagField.getFlag(fluidFlagUid);
 
-         dom.forAllCells([&](Cell c){
+         dom.forAllCells([&](Cell c) {
             if (flagField.isFlagSet(c, fluidFlag))
             {
                WALBERLA_CHECK_FLOAT_EQUAL(velField.get(c, 0), maxVelocity);
@@ -251,10 +245,10 @@ void freeSlipPipe(mpi::Environment& env)
    velOutput();
 }
 
-std::vector< std::tuple< std::string, TestFunction > > TESTS {
-   {"FullyPeriodic", fullyPeriodic},
-   {"MirroredHalfChannel", mirroredHalfChannel},
-   {"FreeSlipPipe", freeSlipPipe},
+std::map< std::string, TestFunction > TESTS{
+   { "FullyPeriodic", fullyPeriodic },
+   { "MirroredHalfChannel", mirroredHalfChannel },
+   { "FreeSlipPipe", freeSlipPipe },
 };
 
 } // namespace BasicLbmScenarios
@@ -263,17 +257,19 @@ int main(int argc, char** argv)
 {
    walberla::mpi::Environment env{ argc, argv };
 
-   if( argc < 1 ){
+   if (argc < 1)
+   {
       std::cerr << "No Test ID was specified." << std::endl;
-      return -1;  
+      return -1;
    }
 
-   std::string testId { argv[1] };
+   std::string testId{ argv[1] };
 
-   for( auto& entry : BasicLbmScenarios::TESTS ){
-      if( std::get< std::string >(entry) == testId ){
-         std::get< BasicLbmScenarios::TestFunction >(entry)(env);
-      }
+   if (auto entry = BasicLbmScenarios::TESTS.find(testId); entry != BasicLbmScenarios::TESTS.end())
+   {
+      std::get< BasicLbmScenarios::TestFunction >(*entry)(env);
+      return EXIT_SUCCESS;
    }
-   
+
+   WALBERLA_ABORT("Invalid test ID: " << testId);
 }