public void testEncodeDecode() { Link link1 = new Link(); link1.setName(new Name("test")); link1.addDelegation(10, new Name("/test1")); link1.addDelegation(20, new Name("/test2")); link1.addDelegation(100, new Name("/test3")); try { keyChain.sign(link1, certificateName); } catch (SecurityException ex) { Assert.Fail(ex.Message); } Blob wireEncoding = link1.wireEncode(); Link link2 = new Link(); try { link2.wireDecode(wireEncoding); } catch (EncodingException ex_0) { Assert.Fail(ex_0.Message); } Name name = link2.getName(); Assert.AssertEquals(new Name("test"), name); DelegationSet delegations = link2.getDelegations(); for (int i = 0; i < delegations.size(); ++i) { if (i == 0) { Assert.AssertEquals(10, delegations.get(i).getPreference()); Assert.AssertEquals(new Name("/test1"), delegations.get(i).getName()); } if (i == 1) { Assert.AssertEquals(20, delegations.get(i).getPreference()); Assert.AssertEquals(new Name("/test2"), delegations.get(i).getName()); } if (i == 2) { Assert.AssertEquals(100, delegations.get(i).getPreference()); Assert.AssertEquals(new Name("/test3"), delegations.get(i).getName()); } } }
public void testDecode() { Link link = new Link(); try { link.wireDecode(new Blob(LinkTest, false)); } catch (EncodingException ex) { Assert.Fail(ex.Message); } Assert.AssertEquals(new Name("/local/ndn/prefix"), link.getName()); DelegationSet delegations = link.getDelegations(); for (int i = 0; i < delegations.size(); ++i) { if (i == 0) { Assert.AssertEquals(10, delegations.get(i).getPreference()); Assert.AssertEquals(new Name("local"), delegations.get(i).getName()); } if (i == 1) { Assert.AssertEquals(20, delegations.get(i).getPreference()); Assert.AssertEquals(new Name("ndn"), delegations.get(i).getName()); } } }