本文整理匯總了C#中net.named_data.jndn.Interest.matchesData方法的典型用法代碼示例。如果您正苦於以下問題:C# Interest.matchesData方法的具體用法?C# Interest.matchesData怎麽用?C# Interest.matchesData使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類net.named_data.jndn.Interest
的用法示例。
在下文中一共展示了Interest.matchesData方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: testMatchesData
public void testMatchesData()
{
Interest interest = new Interest(new Name("/A"));
interest.setMinSuffixComponents(2);
interest.setMaxSuffixComponents(2);
interest.getKeyLocator().setType(net.named_data.jndn.KeyLocatorType.KEYNAME);
interest.getKeyLocator().setKeyName(new Name("/B"));
interest.getExclude().appendComponent(new Name.Component("J"));
interest.getExclude().appendAny();
Data data = new Data(new Name("/A/D"));
Sha256WithRsaSignature signature = new Sha256WithRsaSignature();
signature.getKeyLocator().setType(net.named_data.jndn.KeyLocatorType.KEYNAME);
signature.getKeyLocator().setKeyName(new Name("/B"));
data.setSignature(signature);
Assert.AssertEquals(true, interest.matchesData(data));
// Check violating MinSuffixComponents.
Data data1 = new Data(data);
data1.setName(new Name("/A"));
Assert.AssertEquals(false, interest.matchesData(data1));
Interest interest1 = new Interest(interest);
interest1.setMinSuffixComponents(1);
Assert.AssertEquals(true, interest1.matchesData(data1));
// Check violating MaxSuffixComponents.
Data data2 = new Data(data);
data2.setName(new Name("/A/E/F"));
Assert.AssertEquals(false, interest.matchesData(data2));
Interest interest2 = new Interest(interest);
interest2.setMaxSuffixComponents(3);
Assert.AssertEquals(true, interest2.matchesData(data2));
// Check violating PublisherPublicKeyLocator.
Data data3 = new Data(data);
Sha256WithRsaSignature signature3 = new Sha256WithRsaSignature();
signature3.getKeyLocator().setType(net.named_data.jndn.KeyLocatorType.KEYNAME);
signature3.getKeyLocator().setKeyName(new Name("/G"));
data3.setSignature(signature3);
Assert.AssertEquals(false, interest.matchesData(data3));
Interest interest3 = new Interest(interest);
interest3.getKeyLocator().setType(net.named_data.jndn.KeyLocatorType.KEYNAME);
interest3.getKeyLocator().setKeyName(new Name("/G"));
Assert.AssertEquals(true, interest3.matchesData(data3));
Data data4 = new Data(data);
data4.setSignature(new DigestSha256Signature());
Assert.AssertEquals(false, interest.matchesData(data4));
Interest interest4 = new Interest(interest);
interest4.setKeyLocator(new KeyLocator());
Assert.AssertEquals(true, interest4.matchesData(data4));
// Check violating Exclude.
Data data5 = new Data(data);
data5.setName(new Name("/A/J"));
Assert.AssertEquals(false, interest.matchesData(data5));
Interest interest5 = new Interest(interest);
interest5.getExclude().clear();
interest5.getExclude().appendComponent(new Name.Component("K"));
interest5.getExclude().appendAny();
Assert.AssertEquals(true, interest5.matchesData(data5));
// Check violating Name.
Data data6 = new Data(data);
data6.setName(new Name("/H/I"));
Assert.AssertEquals(false, interest.matchesData(data6));
Data data7 = new Data(data);
data7.setName(new Name("/A/B"));
Interest interest7 = new Interest(
new Name(
"/A/B/sha256digest="
+ "54008e240a7eea2714a161dfddf0dd6ced223b3856e9da96792151e180f3b128"));
Assert.AssertEquals(true, interest7.matchesData(data7));
// Check violating the implicit digest.
Interest interest7b = new Interest(new Name(
"/A/B/%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00"
+ "%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00"));
Assert.AssertEquals(false, interest7b.matchesData(data7));
// Check excluding the implicit digest.
Interest interest8 = new Interest(new Name("/A/B"));
interest8.getExclude().appendComponent(interest7.getName().get(2));
Assert.AssertEquals(false, interest8.matchesData(data7));
}