diff --git a/tests/communication/test-sync-logic-handler.cpp b/tests/communication/test-sync-logic-handler.cpp
index 4f759e0..c4a630b 100644
--- a/tests/communication/test-sync-logic-handler.cpp
+++ b/tests/communication/test-sync-logic-handler.cpp
@@ -25,7 +25,7 @@
 #include "tests/io-key-chain-fixture.hpp"
 #include "tests/test-common.hpp"
 
-namespace nlsr::test {
+namespace nlsr::tests {
 
 class SyncLogicFixture : public IoKeyChainFixture
 {
@@ -47,14 +47,14 @@
   void
   receiveUpdate(const ndn::Name& prefix, uint64_t seqNo)
   {
-    this->advanceClocks(ndn::time::milliseconds(1), 10);
+    this->advanceClocks(1_ms, 10);
     face.sentInterests.clear();
 
     std::vector<psync::MissingDataInfo> updates;
     updates.push_back({prefix, 0, seqNo, 0});
     getSync().m_syncLogic.onPSyncUpdate(updates);
 
-    this->advanceClocks(ndn::time::milliseconds(1), 10);
+    this->advanceClocks(1_ms, 10);
   }
 
 public:
@@ -64,7 +64,7 @@
     SyncProtocol::PSYNC,
     ndn::Name("/ndn/nlsr/sync").appendVersion(ConfParameter::SYNC_VERSION),
     "/localhop/ndn/nlsr/LSA/site/%C1.Router/this-router",
-    ndn::time::milliseconds(SYNC_INTEREST_LIFETIME_DEFAULT),
+    time::milliseconds(SYNC_INTEREST_LIFETIME_DEFAULT),
     "/ndn/site/%C1.Router/this-router",
     HYPERBOLIC_STATE_OFF
   };
@@ -245,4 +245,4 @@
 
 BOOST_AUTO_TEST_SUITE_END()
 
-} // namespace nlsr::test
+} // namespace nlsr::tests
diff --git a/tests/communication/test-sync-protocol-adapter.cpp b/tests/communication/test-sync-protocol-adapter.cpp
index 1b80a82..6ee7f63 100644
--- a/tests/communication/test-sync-protocol-adapter.cpp
+++ b/tests/communication/test-sync-protocol-adapter.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  The University of Memphis,
+ * Copyright (c) 2014-2024,  The University of Memphis,
  *                           Regents of the University of California,
  *                           Arizona Board of Regents.
  *
@@ -26,8 +26,7 @@
 
 #include <ndn-cxx/util/dummy-client-face.hpp>
 
-namespace nlsr {
-namespace test {
+namespace nlsr::tests {
 
 using ndn::Name;
 
@@ -64,7 +63,7 @@
   Name syncPrefix;
   Name nameLsaUserPrefix;
   Name userPrefixes[2];
-  ndn::time::milliseconds syncInterestLifetime;
+  time::milliseconds syncInterestLifetime;
   std::shared_ptr<ndn::DummyClientFace> faces[2];
   std::shared_ptr<SyncProtocolAdapter> nodes[2];
   std::map<Name, uint64_t> prefixToSeq[2];
@@ -106,5 +105,4 @@
 
 BOOST_AUTO_TEST_SUITE_END()
 
-} // namespace test
-} // namespace nlsr
+} // namespace nlsr::tests
