Clean up argument checking
[yangtools.git] / yang / yang-parser-rfc7950 / src / test / java / org / opendaylight / yangtools / yang / stmt / YT1089Test.java
index cba0465bb68394069838b86eff1e9debe37808ab..7fd4ad1bfaecd76c546f15e308b5d9e2d0275891 100644 (file)
@@ -52,6 +52,8 @@ public class YT1089Test {
 
         assertFoo(it.next());
         assertBar(it.next());
+        assertBaz(it.next());
+        assertXyzzy(it.next());
         assertFalse(it.hasNext());
     }
 
@@ -77,4 +79,25 @@ public class YT1089Test {
         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());
+    }
 }