diff --git a/tests/test-encode-decode-data.cpp b/tests/test-encode-decode-data.cpp
index bc4a324..b328001 100644
--- a/tests/test-encode-decode-data.cpp
+++ b/tests/test-encode-decode-data.cpp
@@ -74,7 +74,7 @@
 {
   try {
     Data data;
-    data.decode(Data1, sizeof(Data1));
+    data.wireDecode(Data1, sizeof(Data1));
     cout << "Data name " << data.getName().to_uri() << endl;
 #if 0
     ptime timestamp = UNIX_EPOCH_TIME + milliseconds(data.getSignedInfo().getTimestampMilliseconds());
@@ -82,11 +82,11 @@
          << " " << timestamp.time_of_day().hours() << ":" << timestamp.time_of_day().minutes() << ":" << timestamp.time_of_day().seconds()  << endl;
 #endif
     
-    ptr_lib::shared_ptr<vector<unsigned char> > encoding = data.encode();
+    ptr_lib::shared_ptr<vector<unsigned char> > encoding = data.wireEncode();
     cout << "Data encoding length " << encoding->size() << " vs. sizeof(Data1) " << sizeof(Data1) << endl;
     
     Data reDecodedData;
-    reDecodedData.decode(*encoding);
+    reDecodedData.wireDecode(*encoding);
     cout << "Re-decoded Data name " << reDecodedData.getName().to_uri() << endl;
 #if 0
     timestamp = UNIX_EPOCH_TIME + milliseconds(reDecodedData.getSignedInfo().getTimestampMilliseconds());
diff --git a/tests/test-encode-decode-interest.cpp b/tests/test-encode-decode-interest.cpp
index 412f78e..6d5b9d3 100644
--- a/tests/test-encode-decode-interest.cpp
+++ b/tests/test-encode-decode-interest.cpp
@@ -37,18 +37,18 @@
 {
   try {
     Interest interest;
-    interest.decode(Interest1, sizeof(Interest1));
+    interest.wireDecode(Interest1, sizeof(Interest1));
     cout << "Interest name " << interest.getName().to_uri() << endl;
     cout << "Interest minSuffixComponents " << interest.getMinSuffixComponents() << endl;
     cout << "Interest publisherPublicKeyDigest length " << interest.getPublisherPublicKeyDigest().getPublisherPublicKeyDigest().size() << endl;
     cout << "Interest excludeEntryCount " << interest.getExclude().getEntryCount() << endl;
     cout << "InterestLifetimeMilliseconds " << interest.getInterestLifetimeMilliseconds() << endl;
     
-    ptr_lib::shared_ptr<vector<unsigned char> > encoding = interest.encode();
+    ptr_lib::shared_ptr<vector<unsigned char> > encoding = interest.wireEncode();
     cout << "Interest encoding length " << encoding->size() << " vs. sizeof(Interest1) " << sizeof(Interest1) << endl;
 
     Interest reDecodedInterest;
-    reDecodedInterest.decode(*encoding);
+    reDecodedInterest.wireDecode(*encoding);
     cout << "Re-decoded Interest name " << reDecodedInterest.getName().to_uri() << endl;
     cout << "Re-decoded Interest minSuffixComponents " << reDecodedInterest.getMinSuffixComponents() << endl;
     cout << "Re-decoded Interest publisherPublicKeyDigest length " << reDecodedInterest.getPublisherPublicKeyDigest().getPublisherPublicKeyDigest().size() << endl;
