!nodesInput.isEmpty(), "Both nodes and interfaces part of the flexible location specifier cannot be empty"); return new NodeSpecifierInterfaceLocationSpecifier( new FlexibleNodeSpecifierFactory().buildNodeSpecifier(nodesInput)); new NodeSpecifierInterfaceLocationSpecifier( new FlexibleNodeSpecifierFactory().buildNodeSpecifier(nodesInput)), new InterfaceSpecifierInterfaceLocationSpecifier(
@Test public void parseFunc() { assertThat( parse("enter(foo)"), equalTo( new ToInterfaceLinkLocationSpecifier( new NodeSpecifierInterfaceLocationSpecifier( new FlexibleNodeSpecifierFactory().buildNodeSpecifier("foo"))))); exception.expect(UnsupportedOperationException.class); assertThat( parse("exit(foo)"), equalTo( new ToInterfaceLinkLocationSpecifier( new NodeSpecifierInterfaceLocationSpecifier( new FlexibleNodeSpecifierFactory().buildNodeSpecifier("foo"))))); }
@Test public void parseCombination() { LocationSpecifier leaf = new NodeSpecifierInterfaceLocationSpecifier( new FlexibleNodeSpecifierFactory().buildNodeSpecifier("foo")); LocationSpecifier difference = new DifferenceLocationSpecifier(leaf, leaf); LocationSpecifier union = new UnionLocationSpecifier(leaf, leaf); LocationSpecifier unionDiff = new DifferenceLocationSpecifier(union, leaf); assertThat(parse("foo - foo"), equalTo(difference)); assertThat(parse("foo + foo"), equalTo(union)); assertThat(parse("foo + foo - foo"), equalTo(unionDiff)); }
@Test public void parseAtomic() { assertThat( parse("foo"), equalTo( new NodeSpecifierInterfaceLocationSpecifier( new FlexibleNodeSpecifierFactory().buildNodeSpecifier("foo")))); assertThat( parse("ref.noderole(bar1, bar2)"), equalTo( new NodeSpecifierInterfaceLocationSpecifier( new FlexibleNodeSpecifierFactory() .buildNodeSpecifier("ref.noderole(bar1, bar2)")))); assertThat( parse("[bar]"), equalTo( new InterfaceSpecifierInterfaceLocationSpecifier( new FlexibleInterfaceSpecifierFactory().buildInterfaceSpecifier("bar")))); assertThat( parse("foo[bar]"), equalTo( new IntersectionLocationSpecifier( new NodeSpecifierInterfaceLocationSpecifier( new FlexibleNodeSpecifierFactory().buildNodeSpecifier("foo")), new InterfaceSpecifierInterfaceLocationSpecifier( new FlexibleInterfaceSpecifierFactory().buildInterfaceSpecifier("bar"))))); }