示例#1
0
TEST_F(TestLink, InterestSelectedDelegation)
{
  Link link;
  link.setName(Name("test"));
  link.addDelegation(10,  Name("/test1"));
  link.addDelegation(20,  Name("/test2"));
  link.addDelegation(100, Name("/test3"));

  keyChain_->sign(link, certificateName_);

  Blob linkEncoding = link.wireEncode();

  Interest interestA;
  interestA.setLinkWireEncoding(linkEncoding);
  ASSERT_TRUE(interestA.getSelectedDelegationIndex() < 0);

  interestA.setSelectedDelegationIndex
    (link.getDelegations().find(Name("test2")));
  ASSERT_TRUE(interestA.getSelectedDelegationIndex() >= 0);
  Link* link2 = interestA.getLink();
  ASSERT_EQ
    (Name("test2"),
     link2->getDelegations().get(interestA.getSelectedDelegationIndex()).getName());

  interestA.setSelectedDelegationIndex(-1);
  ASSERT_TRUE(interestA.getSelectedDelegationIndex() < 0);
}