@Test
public void matchesFilterOn() {
String inAclName = "inAcl";
String outAclName = "outAcl";
NetworkFactory nf = new NetworkFactory();
Configuration c =
nf.configurationBuilder().setConfigurationFormat(ConfigurationFormat.CISCO_IOS).build();
Vrf v = nf.vrfBuilder().setOwner(c).build();
IpAccessList inAcl = IpAccessList.builder().setName(inAclName).setOwner(c).build();
IpAccessList outAcl = IpAccessList.builder().setName(outAclName).setOwner(c).build();
Interface i =
nf.interfaceBuilder()
.setIncomingFilter(inAcl)
.setOutgoingFilter(outAcl)
.setOwner(c)
.setVrf(v)
.build();
String iName = i.getName();
FiltersSpecifier inputFilterSpecifier =
new FiltersSpecifier(String.format("%s:%s", Type.INPUTFILTERON.name(), iName));
FiltersSpecifier outputFilterSpecifier =
new FiltersSpecifier(String.format("%s:%s", Type.OUTPUTFILTERON.name(), iName));
assertThat(inputFilterSpecifier.matches(inAcl, c), equalTo(true));
assertThat(inputFilterSpecifier.matches(outAcl, c), equalTo(false));
assertThat(outputFilterSpecifier.matches(outAcl, c), equalTo(true));
assertThat(outputFilterSpecifier.matches(inAcl, c), equalTo(false));
}