diff --git a/src/util/concepts.hpp b/src/util/concepts.hpp
index 94baeaa..b61c301 100644
--- a/src/util/concepts.hpp
+++ b/src/util/concepts.hpp
@@ -23,9 +23,12 @@
 #define NDN_UTIL_CONCEPTS_HPP
 
 #include <boost/concept/usage.hpp>
+#include "../encoding/block.hpp"
 
 namespace ndn {
 
+/** \brief a concept check for TLV abstraction with .wireEncode method
+ */
 template<class X>
 class WireEncodable
 {
@@ -33,10 +36,14 @@
   BOOST_CONCEPT_USAGE(WireEncodable)
   {
     X j;
-    j.wireEncode();
+    Block block = j.wireEncode();
+    block.size(); // avoid 'unused variable block'
   }
 };
 
+/** \brief a concept check for TLV abstraction with .wireDecode method
+ *         and constructible from Block
+ */
 template<class X>
 class WireDecodable
 {
@@ -49,6 +56,8 @@
   }
 };
 
+/** \brief a concept check for CryptoPP hash algorithm
+ */
 template<class X>
 class Hashable
 {
diff --git a/tests/unit-tests/util/concepts.cpp b/tests/unit-tests/util/concepts.cpp
new file mode 100644
index 0000000..0486013
--- /dev/null
+++ b/tests/unit-tests/util/concepts.cpp
@@ -0,0 +1,61 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (c) 2014,  Regents of the University of California,
+ *                      Arizona Board of Regents,
+ *                      Colorado State University,
+ *                      University Pierre & Marie Curie, Sorbonne University,
+ *                      Washington University in St. Louis,
+ *                      Beijing Institute of Technology,
+ *                      The University of Memphis
+ *
+ * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
+ *
+ * ndn-cxx library is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * ndn-cxx library 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 Lesser General Public License for more details.
+ *
+ * You should have received copies of the GNU General Public License and GNU Lesser
+ * General Public License along with ndn-cxx, e.g., in COPYING.md file.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
+ */
+
+#include "util/concepts.hpp"
+
+namespace ndn {
+namespace tests {
+
+class WireEncodableType
+{
+public:
+  const Block&
+  wireEncode();
+};
+BOOST_CONCEPT_ASSERT((WireEncodable<WireEncodableType>));
+
+class WireEncodableType2
+{
+public:
+  Block
+  wireEncode();
+};
+BOOST_CONCEPT_ASSERT((WireEncodable<WireEncodableType2>));
+
+class WireDecodableType
+{
+public:
+  explicit
+  WireDecodableType(const Block& wire);
+
+  void
+  wireDecode(const Block& wire);
+};
+BOOST_CONCEPT_ASSERT((WireDecodable<WireDecodableType>));
+
+} // namespace tests
+} // namespace ndn
