diff --git a/test/gtest_processor_odom_icp.cpp b/test/gtest_processor_odom_icp.cpp
index 137c7ec3d1777f60cf4ad30ed15b33766c3b7b7f..e696f15bfd39fcd01c3bdbcc0deafc433d464bae 100644
--- a/test/gtest_processor_odom_icp.cpp
+++ b/test/gtest_processor_odom_icp.cpp
@@ -24,6 +24,21 @@ TEST(ProcessorParamsOdomICP, default_construct_and_print)
     WOLF_INFO("params: ", params->print());
 }
 
+TEST(ProcessorParamsOdomICP, factory_and_print)
+{
+    std::string laser_root = _WOLF_LASER_ROOT_DIR;
+
+    auto params = std::static_pointer_cast<ProcessorParamsOdomICP>(ProcessorParamsFactory::get().create("ODOM ICP", laser_root + "/test/yaml/processor_odom_icp.yaml"));
+
+    ASSERT_TRUE(params); // not nullptr
+
+    // check a couple of entries.
+    ASSERT_EQ       (params->use_corr_tricks    , 4     );
+    ASSERT_DOUBLE_EQ(params->outliers_maxPerc   , 5.0   );
+
+    WOLF_INFO("params: ", params->print());
+}
+
 TEST(ProcessorOdomIcp, Constructor)
 {
     auto params = std::make_shared<ProcessorParamsOdomICP>();