diff --git a/tests/management/test-nfd-control.cpp b/tests/management/test-nfd-control.cpp
index 299620e..68df397 100644
--- a/tests/management/test-nfd-control.cpp
+++ b/tests/management/test-nfd-control.cpp
@@ -8,6 +8,7 @@
 #include "management/nfd-fib-management-options.hpp"
 #include "management/nfd-face-management-options.hpp"
 #include "management/nfd-face-event-notification.hpp"
+#include "management/nfd-face-status.hpp"
 
 #include <boost/test/unit_test.hpp>
 #include <boost/test/output_test_stream.hpp>
@@ -46,6 +47,13 @@
   0x2e, 0x31, 0x3a, 0x36, 0x33, 0x36, 0x33
 };
 
+const uint8_t TestFaceStatus[] = {
+  0x80, 0x27, 0x69, 0x01, 0x64, 0x72, 0x15, 0x74, 0x63, 0x70, 0x34, 0x3a,
+  0x2f, 0x2f, 0x31, 0x32, 0x37, 0x2e, 0x30, 0x2e, 0x30, 0x2e, 0x31, 0x3a,
+  0x36, 0x33, 0x36, 0x33, 0x91, 0x01, 0x0a, 0x90, 0x01, 0x14, 0x92, 0x01,
+  0x1e, 0x93, 0x02, 0x01, 0x90
+};
+
 // ControlResponse
 
 BOOST_AUTO_TEST_CASE(ControlResponseEncode)
@@ -182,6 +190,38 @@
   }
 }
 
+BOOST_AUTO_TEST_CASE(FaceStatusEncodingDecoding)
+{
+  {
+    FaceStatus faceStatus(100, "tcp4://127.0.0.1:6363", 10, 20, 30, 400);
+    BOOST_REQUIRE_NO_THROW(faceStatus.wireEncode());
+
+    BOOST_CHECK_EQUAL_COLLECTIONS(TestFaceStatus,
+                                  TestFaceStatus + sizeof(TestFaceStatus),
+                                  faceStatus.wireEncode().begin(), faceStatus.wireEncode().end());
+
+    std::ostringstream os;
+    os << faceStatus;
+    BOOST_CHECK_EQUAL(os.str(), "FaceStatus(FaceID: 100, Uri: tcp4://127.0.0.1:6363, "
+                      "Counters: 10|20|30|400)");
+  }
+
+  {
+    Block block(TestFaceStatus, sizeof(TestFaceStatus));
+    BOOST_REQUIRE_NO_THROW((FaceStatus(block)));
+
+    FaceStatus faceStatus(block);
+
+    BOOST_CHECK_EQUAL(faceStatus.getFaceId(), 100);
+    BOOST_CHECK_EQUAL(faceStatus.getUri(), "tcp4://127.0.0.1:6363");
+
+    BOOST_CHECK_EQUAL(faceStatus.getInInterest(),  10);
+    BOOST_CHECK_EQUAL(faceStatus.getInData(),      20);
+    BOOST_CHECK_EQUAL(faceStatus.getOutInterest(), 30);
+    BOOST_CHECK_EQUAL(faceStatus.getOutData(),     400);
+  }
+}
+
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace nfd
