diff --git a/tests/route/test-fib-entry.cpp b/tests/route/test-fib-entry.cpp
deleted file mode 100644
index b323ca5..0000000
--- a/tests/route/test-fib-entry.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2019,  The University of Memphis,
- *                           Regents of the University of California
- *
- * This file is part of NLSR (Named-data Link State Routing).
- * See AUTHORS.md for complete list of NLSR authors and contributors.
- *
- * NLSR is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Foundation,
- * either version 3 of the License, or (at your option) any later version.
- *
- * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.  See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * NLSR, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- *
- * \author Ashlesh Gawande <agawande@memphis.edu>
- **/
-
-#include "route/fib-entry.hpp"
-#include "route/nexthop-list.hpp"
-
-#include "tests/boost-test.hpp"
-
-#include <ndn-cxx/util/time.hpp>
-
-namespace nlsr {
-namespace test {
-
-BOOST_AUTO_TEST_SUITE(TestFibEntry)
-
-BOOST_AUTO_TEST_CASE(FibEntryConstructorAndGetters)
-{
-  FibEntry fe1("next1");
-
-  BOOST_CHECK_EQUAL(fe1.getName(), "next1");
-  BOOST_CHECK_EQUAL(fe1.getSeqNo(), 1);  // Initial Seq No.
-}
-
-BOOST_AUTO_TEST_SUITE_END()
-
-} // namespace test
-} // namespace nlsr
diff --git a/tests/route/test-fib.cpp b/tests/route/test-fib.cpp
index 5d2d27e..fd68e80 100644
--- a/tests/route/test-fib.cpp
+++ b/tests/route/test-fib.cpp
@@ -1,5 +1,5 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
+/*
  * Copyright (c) 2014-2020,  The University of Memphis,
  *                           Regents of the University of California
  *
@@ -16,8 +16,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NLSR, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- *
- **/
+ */
 
 #include "route/fib.hpp"
 #include "../test-common.hpp"
@@ -301,13 +300,14 @@
 BOOST_FIXTURE_TEST_CASE(ScheduleFibEntryRefresh, FibFixture)
 {
   ndn::Name name1("/name/1");
-  FibEntry fe(name1);
-  fib->m_table.emplace(name1, fe);
-  int origSeqNo = fe.getSeqNo();
+  FibEntry fe;
+  fe.name = name1;
+  int origSeqNo = fe.seqNo;
+  fib->m_table.emplace(name1, std::move(fe));
 
   fib->scheduleEntryRefresh(fe,
                             [&] (FibEntry& entry) {
-                              BOOST_CHECK_EQUAL(origSeqNo + 1, entry.getSeqNo());
+                              BOOST_CHECK_EQUAL(origSeqNo + 1, entry.seqNo);
                             });
   this->advanceClocks(ndn::time::milliseconds(10), 1);
 }
