diff --git a/tests/unit/prefix-announcement.t.cpp b/tests/unit/prefix-announcement.t.cpp
index d154484..e7399b0 100644
--- a/tests/unit/prefix-announcement.t.cpp
+++ b/tests/unit/prefix-announcement.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -34,8 +34,8 @@
 makePrefixAnnData()
 {
   return Data(
-    "067A 071A announced-name=/net/example 08036E6574 08076578616D706C65"
-    "          keyword-prefix-ann=20025041 version=0802FD01 segment=08020000"
+    "0678 0718 announced-name=/net/example 08036E6574 08076578616D706C65"
+    "          keyword-prefix-ann=20025041 version=230101 segment=210100"
     "     1403 content-type=prefix-ann 180105"
     "     1530 expire in one hour 6D040036EE80"
     "          validity FD00FD26 FD00FE0F323031383130333054303030303030"
@@ -171,7 +171,7 @@
   BOOST_CHECK(!pa.getValidityPeriod());
 
   const Data& data = pa.toData(m_keyChain, signingWithSha256(), 5);
-  BOOST_CHECK_EQUAL(data.getName(), "/32=PA/%FD%05/%00%00");
+  BOOST_CHECK_EQUAL(data.getName(), "/32=PA/v=5/seg=0");
   BOOST_CHECK_EQUAL(data.getContentType(), tlv::ContentType_PrefixAnn);
   BOOST_REQUIRE(pa.getData());
   BOOST_CHECK_EQUAL(*pa.getData(), data);
@@ -192,7 +192,7 @@
   pa.setExpiration(1_h);
 
   const Data& data = pa.toData(m_keyChain, signingWithSha256(), 1);
-  BOOST_CHECK_EQUAL(data.getName(), "/net/example/32=PA/%FD%01/%00%00");
+  BOOST_CHECK_EQUAL(data.getName(), "/net/example/32=PA/v=1/seg=0");
   BOOST_CHECK_EQUAL(data.getContentType(), tlv::ContentType_PrefixAnn);
 
   const Block& payload = data.getContent();
