TEST_F(TestLink, InterestLinkObject) { Link link1; link1.setName(Name("test")); link1.addDelegation(10, Name("/test1")); link1.addDelegation(20, Name("/test2")); link1.addDelegation(100, Name("/test3")); keyChain_->sign(link1, certificateName_); Blob linkEncoding = link1.wireEncode(); Interest interestA; interestA.setLinkWireEncoding(linkEncoding); Link* link2 = interestA.getLink(); ASSERT_TRUE(link2); Name name = link2->getName(); ASSERT_EQ(Name("test"), name); const DelegationSet& delegations = link2->getDelegations(); for (size_t i = 0; i < delegations.size(); ++i) { if (i == 0) { ASSERT_EQ(10, delegations.get(i).getPreference()); ASSERT_EQ(Name("/test1"), delegations.get(i).getName()); } if (i == 1) { ASSERT_EQ(20, delegations.get(i).getPreference()); ASSERT_EQ(Name("/test2"), delegations.get(i).getName()); } if (i == 2) { ASSERT_EQ(100, delegations.get(i).getPreference()); ASSERT_EQ(Name("/test3"), delegations.get(i).getName()); } } interestA.setLinkWireEncoding(Blob(LINK, sizeof(LINK))); Link* link3 = interestA.getLink(); ASSERT_EQ(2, link3->getDelegations().size()); interestA.unsetLink(); ASSERT_EQ(false, interestA.hasLink()); }