Add XMLNamespace
[yangtools.git] / yang / yang-data-api / src / test / java / org / opendaylight / yangtools / yang / data / api / PathArgumentListTest.java
index 26b28216a27847725d91746f8c306bafb44fdc9b..e2298784bbd6e16a4eefda9ccd770b584ad80a8c 100644 (file)
@@ -9,26 +9,37 @@ package org.opendaylight.yangtools.yang.data.api;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import com.google.common.collect.UnmodifiableIterator;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.text.ParseException;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.NoSuchElementException;
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil;
+import org.opendaylight.yangtools.yang.common.Revision;
+import org.opendaylight.yangtools.yang.common.XMLNamespace;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 
 public class PathArgumentListTest {
     private static final class TestClass extends PathArgumentList {
         @Override
         public UnmodifiableIterator<PathArgument> iterator() {
-            return null;
+            return new UnmodifiableIterator<>() {
+                @Override
+                public boolean hasNext() {
+                    return false;
+                }
+
+                @Override
+                public PathArgument next() {
+                    throw new NoSuchElementException();
+                }
+            };
         }
 
         @Override
@@ -51,60 +62,25 @@ public class PathArgumentListTest {
     public void testProtections() {
         final PathArgumentList l = new TestClass();
 
-        try {
-            l.remove(null);
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.addAll(null);
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.removeAll(null);
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.retainAll(null);
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.clear();
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.addAll(0, null);
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
+        assertThrows(UnsupportedOperationException.class, () -> l.remove(null));
+        assertThrows(UnsupportedOperationException.class, () -> l.addAll(Collections.emptyList()));
+        assertThrows(UnsupportedOperationException.class, () -> l.removeAll(Collections.emptyList()));
+        assertThrows(UnsupportedOperationException.class, () -> l.retainAll(Collections.emptyList()));
+        assertThrows(UnsupportedOperationException.class, () -> l.clear());
+        assertThrows(UnsupportedOperationException.class, () -> l.addAll(0, null));
     }
 
     @Test
-    public void testPathArgument() throws URISyntaxException, ParseException {
-        final QNameModule qNameModule = QNameModule.create(new URI("urn:opendaylight.test2"),
-                SimpleDateFormatUtil.getRevisionFormat().parse("2015-08-08"));
+    public void testPathArgument() {
+        final QNameModule qNameModule = QNameModule.create(XMLNamespace.of("urn:opendaylight.test2"),
+            Revision.of("2015-08-08"));
         final QName qNameRoot = QName.create(qNameModule, "root");
         final QName qNameList = QName.create(qNameModule, "list");
         final QName qNameLeaf = QName.create(qNameModule, "leaf-a");
         final Map<QName, Object> entryLeaf = new HashMap<>();
         entryLeaf.put(qNameList, "leaf");
-        final YangInstanceIdentifier.NodeIdentifierWithPredicates nodeIdentifierWithPredicates =
-            new YangInstanceIdentifier.NodeIdentifierWithPredicates(qNameList , entryLeaf);
+        final NodeIdentifierWithPredicates nodeIdentifierWithPredicates = NodeIdentifierWithPredicates.of(qNameList,
+            entryLeaf);
         final YangInstanceIdentifier yangInstanceIdentifier = YangInstanceIdentifier.of(qNameRoot).node(qNameList)
                 .node(nodeIdentifierWithPredicates).node(qNameLeaf);
         final PathArgument pathArgumentToRoot = yangInstanceIdentifier.getAncestor(1).getPathArguments().iterator()
@@ -136,11 +112,6 @@ public class PathArgumentListTest {
         assertEquals(stackedYangInstanceIdentifier, stackedYangInstanceIdentifierClone);
         assertEquals(stackedReversePathArguments, yangInstanceIdentifier1.getReversePathArguments());
 
-        try {
-            stackedYangInstanceIdentifier.getAncestor(12);
-            fail();
-        } catch (IllegalArgumentException e) {
-            // Expected
-        }
+        assertThrows(IllegalArgumentException.class, () -> stackedYangInstanceIdentifier.getAncestor(12));
     }
 }