assertFoo(it.next());
assertBar(it.next());
+ assertBaz(it.next());
+ assertXyzzy(it.next());
assertFalse(it.hasNext());
}
assertEquals("++ + +", it.next().argument());
assertFalse(it.hasNext());
}
+
+ private static void assertBaz(final EffectiveStatement<?, ?> stmt) {
+ assertThat(stmt, instanceOf(LeafEffectiveStatement.class));
+ assertEquals(QName.create("urn:foo", "baz"), stmt.argument());
+ final Iterator<? extends EffectiveStatement<?, ?>> it = stmt.effectiveSubstatements().iterator();
+ assertThat(it.next(), instanceOf(TypeEffectiveStatement.class));
+ assertEquals("/", it.next().argument());
+ assertEquals(":", it.next().argument());
+ assertEquals("*", it.next().argument());
+ assertFalse(it.hasNext());
+ }
+
+ private static void assertXyzzy(final EffectiveStatement<?, ?> stmt) {
+ assertThat(stmt, instanceOf(LeafEffectiveStatement.class));
+ assertEquals(QName.create("urn:foo", "xyzzy"), stmt.argument());
+ final Iterator<? extends EffectiveStatement<?, ?>> it = stmt.effectiveSubstatements().iterator();
+ assertThat(it.next(), instanceOf(TypeEffectiveStatement.class));
+ assertEquals("a weird concat", it.next().argument());
+ assertEquals("another weird concat", it.next().argument());
+ assertFalse(it.hasNext());
+ }
}