diff --git a/tests/daemon/mgmt/tables-config-section.t.cpp b/tests/daemon/mgmt/tables-config-section.t.cpp
index 789d64f..3f77a1d 100644
--- a/tests/daemon/mgmt/tables-config-section.t.cpp
+++ b/tests/daemon/mgmt/tables-config-section.t.cpp
@@ -206,13 +206,9 @@
 class CsUnsolicitedPolicyFixture : public TablesConfigSectionFixture
 {
 protected:
-  class DummyUnsolicitedDataPolicy : public fw::AdmitNetworkUnsolicitedDataPolicy
-  {
-  };
-
   CsUnsolicitedPolicyFixture()
   {
-    forwarder.setUnsolicitedDataPolicy(make_unique<DummyUnsolicitedDataPolicy>());
+    forwarder.setUnsolicitedDataPolicy(make_unique<fw::AdmitNetworkUnsolicitedDataPolicy>());
   }
 };
 
@@ -222,7 +218,7 @@
 {
   tablesConfig.ensureConfigured();
 
-  fw::UnsolicitedDataPolicy* currentPolicy = &forwarder.getUnsolicitedDataPolicy();
+  auto* currentPolicy = &forwarder.getUnsolicitedDataPolicy();
   NFD_CHECK_TYPEID_EQUAL(*currentPolicy, fw::DefaultUnsolicitedDataPolicy);
 }
 
@@ -235,7 +231,7 @@
   )CONFIG";
 
   BOOST_REQUIRE_NO_THROW(runConfig(CONFIG, true));
-  fw::UnsolicitedDataPolicy* currentPolicy = &forwarder.getUnsolicitedDataPolicy();
+  auto* currentPolicy = &forwarder.getUnsolicitedDataPolicy();
   NFD_CHECK_TYPEID_NE(*currentPolicy, fw::DefaultUnsolicitedDataPolicy);
 
   BOOST_REQUIRE_NO_THROW(runConfig(CONFIG, false));
@@ -253,7 +249,7 @@
   )CONFIG";
 
   BOOST_REQUIRE_NO_THROW(runConfig(CONFIG, true));
-  fw::UnsolicitedDataPolicy* currentPolicy = &forwarder.getUnsolicitedDataPolicy();
+  auto* currentPolicy = &forwarder.getUnsolicitedDataPolicy();
   NFD_CHECK_TYPEID_NE(*currentPolicy, fw::AdmitAllUnsolicitedDataPolicy);
 
   BOOST_REQUIRE_NO_THROW(runConfig(CONFIG, false));
