diff --git a/tests/unit-tests/util/in-memory-storage-lfu.t.cpp b/tests/unit-tests/util/in-memory-storage-lfu.t.cpp
index b8d08c6..bc52b30 100644
--- a/tests/unit-tests/util/in-memory-storage-lfu.t.cpp
+++ b/tests/unit-tests/util/in-memory-storage-lfu.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2013-2015 Regents of the University of California.
+ * Copyright (c) 2013-2016 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -29,7 +29,10 @@
 namespace util {
 namespace tests {
 
-BOOST_AUTO_TEST_SUITE(UtilInMemoryStorage)
+using namespace ndn::tests;
+
+BOOST_AUTO_TEST_SUITE(Util)
+BOOST_AUTO_TEST_SUITE(TestInMemoryStorage)
 BOOST_AUTO_TEST_SUITE(Lfu)
 
 BOOST_AUTO_TEST_CASE(FrequencyQueue)
@@ -63,7 +66,7 @@
   BOOST_CHECK_EQUAL(ims.size(), 2);
 
   shared_ptr<const Data> found2 = ims.find(*interest2);
-  BOOST_CHECK(!static_cast<bool>(found2));
+  BOOST_CHECK(found2 == nullptr);
 
   shared_ptr<const Data> found1 = ims.find(*interest1);
   BOOST_CHECK_EQUAL(found1->getName(), name1);
@@ -102,7 +105,7 @@
   BOOST_CHECK_EQUAL(ims.size(), 2);
 
   shared_ptr<const Data> found2 = ims.find(*interest2);
-  BOOST_CHECK(!static_cast<bool>(found2));
+  BOOST_CHECK(found2 == nullptr);
 
   shared_ptr<const Data> found1 = ims.find(*interest1);
   BOOST_CHECK_EQUAL(found1->getName(), name1);
@@ -120,7 +123,7 @@
   BOOST_CHECK_EQUAL(ims.size(), 2);
 
   shared_ptr<const Data> found4 = ims.find(*interest4);
-  BOOST_CHECK(!static_cast<bool>(found4));
+  BOOST_CHECK(found4 == nullptr);
 
   found1 = ims.find(*interest1);
   BOOST_CHECK_EQUAL(found1->getName(), name1);
@@ -129,8 +132,9 @@
 }
 
 BOOST_AUTO_TEST_SUITE_END() // Lfu
-BOOST_AUTO_TEST_SUITE_END() // UtilInMemoryStorage
+BOOST_AUTO_TEST_SUITE_END() // TestInMemoryStorage
+BOOST_AUTO_TEST_SUITE_END() // Util
 
 } // namespace tests
-} // namesapce util
+} // namespace util
 } // namespace ndn
