diff --git a/tests/unit/query.cpp b/tests/unit/query.cpp
index a92a5d1..aa2fe9b 100644
--- a/tests/unit/query.cpp
+++ b/tests/unit/query.cpp
@@ -17,12 +17,44 @@
  * NDNS, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "src/query.h"
+#include "query.hpp"
+
+#include "boost-test.hpp"
 
 namespace ndn {
 namespace ndns {
 namespace tests {
 
+using namespace std;
+
+BOOST_AUTO_TEST_SUITE(query)
+
+BOOST_AUTO_TEST_CASE(UnderstandInterest)
+{
+  printbegin("query::UnderstandInterst");
+  ndns::Query q;
+  Name n1("/dns.google.com");
+  Name n2("/www.baidu.com");
+  q.setAuthorityZone(n1);
+  q.setRrLabel(n2);
+  q.setQueryType(ndns::Query::QUERY_DNS_R);
+
+  Interest interest = q.toInterest();
+  cout<<"InterestName="<<interest.getName()<<endl;
+
+
+  ndns::Query q2;
+  Name name;
+  q2.fromInterest(name, interest);
+  cout<<"AuthZone="<<q2.getAuthorityZone()<<" RRLable="<<q2.getRrLabel()<<endl;
+  BOOST_CHECK_EQUAL(q.getAuthorityZone(), q2.getAuthorityZone());
+  BOOST_CHECK_EQUAL(q.getRrLabel(), q2.getRrLabel());
+  BOOST_CHECK_EQUAL(q.getQueryType(), q2.getQueryType());
+  printend("query:UnderstandInterst");
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
 } // namespace tests
 } // namespace ndns
 } // namespace ndn
