diff --git a/tests/peek/ndnpeek.t.cpp b/tests/peek/ndnpeek.t.cpp
index 73e6bfe..24e496b 100644
--- a/tests/peek/ndnpeek.t.cpp
+++ b/tests/peek/ndnpeek.t.cpp
@@ -156,7 +156,7 @@
   BOOST_CHECK_EQUAL(face.sentInterests.back().getForwardingHint().empty(), true);
   BOOST_CHECK_EQUAL(face.sentInterests.back().getInterestLifetime(), DEFAULT_INTEREST_LIFETIME);
   BOOST_CHECK_EQUAL(face.sentInterests.back().hasApplicationParameters(), false);
-  BOOST_CHECK(peek->getResultCode() == ResultCode::DATA);
+  BOOST_CHECK(peek->getResult() == NdnPeek::Result::DATA);
 }
 
 BOOST_AUTO_TEST_CASE_TEMPLATE(NonDefault, OutputCheck, OutputChecks)
@@ -186,7 +186,7 @@
   BOOST_CHECK_EQUAL(face.sentInterests.back().getForwardingHint().empty(), true);
   BOOST_CHECK_EQUAL(face.sentInterests.back().getInterestLifetime(), 200_ms);
   BOOST_CHECK_EQUAL(face.sentInterests.back().hasApplicationParameters(), false);
-  BOOST_CHECK(peek->getResultCode() == ResultCode::DATA);
+  BOOST_CHECK(peek->getResult() == NdnPeek::Result::DATA);
 }
 
 BOOST_AUTO_TEST_CASE_TEMPLATE(ReceiveNackWithReason, OutputCheck, OutputChecks)
@@ -205,7 +205,7 @@
 
   OutputCheck::checkOutput(output, nack);
   BOOST_CHECK_EQUAL(face.sentInterests.size(), 1);
-  BOOST_CHECK(peek->getResultCode() == ResultCode::NACK);
+  BOOST_CHECK(peek->getResult() == NdnPeek::Result::NACK);
 }
 
 BOOST_AUTO_TEST_CASE_TEMPLATE(ReceiveNackWithoutReason, OutputCheck, OutputChecks)
@@ -224,7 +224,7 @@
 
   OutputCheck::checkOutput(output, nack);
   BOOST_CHECK_EQUAL(face.sentInterests.size(), 1);
-  BOOST_CHECK(peek->getResultCode() == ResultCode::NACK);
+  BOOST_CHECK(peek->getResult() == NdnPeek::Result::NACK);
 }
 
 BOOST_AUTO_TEST_CASE(NoTimeout)
@@ -240,12 +240,12 @@
   this->advanceClocks(io, 100_ms, 9);
   BOOST_CHECK_EQUAL(face.sentInterests.size(), 1);
   BOOST_CHECK_EQUAL(face.getNPendingInterests(), 1);
-  BOOST_CHECK(peek->getResultCode() == ResultCode::UNKNOWN);
+  BOOST_CHECK(peek->getResult() == NdnPeek::Result::UNKNOWN);
 
   this->advanceClocks(io, 100_ms, 2);
   BOOST_CHECK_EQUAL(face.sentInterests.size(), 1);
   BOOST_CHECK_EQUAL(face.getNPendingInterests(), 0);
-  BOOST_CHECK(peek->getResultCode() == ResultCode::TIMEOUT);
+  BOOST_CHECK(peek->getResult() == NdnPeek::Result::TIMEOUT);
 }
 
 BOOST_AUTO_TEST_CASE(TimeoutLessThanLifetime)
@@ -262,7 +262,7 @@
 
   BOOST_CHECK_EQUAL(face.sentInterests.size(), 1);
   BOOST_CHECK_EQUAL(face.getNPendingInterests(), 0);
-  BOOST_CHECK(peek->getResultCode() == ResultCode::TIMEOUT);
+  BOOST_CHECK(peek->getResult() == NdnPeek::Result::TIMEOUT);
 }
 
 BOOST_AUTO_TEST_CASE(TimeoutGreaterThanLifetime)
@@ -279,7 +279,7 @@
 
   BOOST_CHECK_EQUAL(face.sentInterests.size(), 1);
   BOOST_CHECK_EQUAL(face.getNPendingInterests(), 0);
-  BOOST_CHECK(peek->getResultCode() == ResultCode::TIMEOUT);
+  BOOST_CHECK(peek->getResult() == NdnPeek::Result::TIMEOUT);
 }
 
 BOOST_AUTO_TEST_SUITE_END() // TestNdnPeek
