Migrate test asserts
[yangtools.git] / yang / yang-parser-impl / src / test / java / org / opendaylight / yangtools / yang / parser / util / ModuleDependencySortTest.java
index 1c07b0058801f2a2dcbfbb5354b67ebee6d0b527..3cea37136676b6118d57d8f472ab05614f88de59 100644 (file)
@@ -7,14 +7,22 @@
  */
 package org.opendaylight.yangtools.yang.parser.util;
 
+import static org.hamcrest.CoreMatchers.containsString;
 import static org.hamcrest.core.AnyOf.anyOf;
-import static org.hamcrest.core.Is.is;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
-import static org.junit.matchers.JUnitMatchers.containsString;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 
+import com.google.common.collect.Sets;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -25,18 +33,15 @@ import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.ModuleImport;
 import org.opendaylight.yangtools.yang.parser.builder.impl.ModuleBuilder;
-import org.opendaylight.yangtools.yang.parser.impl.YangParserListenerImpl;
 import org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort.ModuleNodeImpl;
 import org.opendaylight.yangtools.yang.parser.util.TopologicalSort.Edge;
 
-import com.google.common.collect.Sets;
-
 public class ModuleDependencySortTest {
-
-    private ModuleBuilder a = mockModuleBuilder("a", null);
-    private ModuleBuilder b = mockModuleBuilder("b", null);
-    private ModuleBuilder c = mockModuleBuilder("c", null);
-    private ModuleBuilder d = mockModuleBuilder("d", null);
+    private final DateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
+    private final ModuleBuilder a = mockModuleBuilder("a", null);
+    private final ModuleBuilder b = mockModuleBuilder("b", null);
+    private final ModuleBuilder c = mockModuleBuilder("c", null);
+    private final ModuleBuilder d = mockModuleBuilder("d", null);
 
     @Test
     public void testValid() throws Exception {
@@ -49,15 +54,15 @@ public class ModuleDependencySortTest {
 
         List<ModuleBuilder> l = ModuleDependencySort.sort(builders);
 
-        assertDependencyGraph(ModuleDependencySort.createModuleGraph(Arrays.asList(builders)));
+        assertDependencyGraph(ModuleDependencySort.createModuleGraph(ModuleOrModuleBuilder.fromAll(
+                Collections.<Module>emptySet(), Arrays.asList(builders))));
 
-        @SuppressWarnings("unchecked")
-        Matcher<String> cOrD = anyOf(is(c.getName()), is(d.getName()));
+        Matcher<String> cOrD = anyOf(equalTo(c.getName()), equalTo(d.getName()));
 
         assertThat(l.get(0).getName(), cOrD);
         assertThat(l.get(1).getName(), cOrD);
-        assertThat(l.get(2).getName(), is(b.getName()));
-        assertThat(l.get(3).getName(), is(a.getName()));
+        assertEquals(b.getName(), l.get(2).getName());
+        assertEquals(a.getName(), l.get(3).getName());
     }
 
     @Test
@@ -76,9 +81,9 @@ public class ModuleDependencySortTest {
 
         List<Module> l = ModuleDependencySort.sort(builders);
 
-        assertThat(l.get(0).getName(), is(c.getName()));
-        assertThat(l.get(1).getName(), is(b.getName()));
-        assertThat(l.get(2).getName(), is(a.getName()));
+        assertEquals(c.getName(), l.get(0).getName());
+        assertEquals(b.getName(), l.get(1).getName());
+        assertEquals(a.getName(), l.get(2).getName());
     }
 
     @Test(expected = YangValidationException.class)
@@ -116,27 +121,6 @@ public class ModuleDependencySortTest {
         ModuleDependencySort.sort(builders);
     }
 
-    @Test(expected = YangValidationException.class)
-    public void testImportTwiceDifferentRevision() throws Exception {
-        Date date1 = new Date(463846463486L);
-        Date date2 = new Date(364896446683L);
-        b = mockModuleBuilder("b", date1);
-        ModuleBuilder b2 = mockModuleBuilder("b", date2);
-
-        mockDependency(a, b);
-        mockDependency(c, b2);
-
-        ModuleBuilder[] builders = new ModuleBuilder[] { a, c, b, b2 };
-        try {
-            ModuleDependencySort.sort(builders);
-        } catch (YangValidationException e) {
-            assertThat(e.getMessage(), containsString("Module:b imported twice with different revisions:"
-                    + YangParserListenerImpl.SIMPLE_DATE_FORMAT.format(date1) + ", "
-                    + YangParserListenerImpl.SIMPLE_DATE_FORMAT.format(date2)));
-            throw e;
-        }
-    }
-
     @Test
     public void testModuleTwiceWithDifferentRevs() throws Exception {
         ModuleBuilder a2 = mockModuleBuilder("a", new Date());
@@ -155,13 +139,13 @@ public class ModuleDependencySortTest {
         try {
             ModuleDependencySort.sort(builders);
         } catch (YangValidationException e) {
-            assertThat(e.getMessage(), containsString("Module:a with revision:"
-                    + YangParserListenerImpl.SIMPLE_DATE_FORMAT.format(rev) + " declared twice"));
+            assertThat(e.getMessage(), containsString("Module:a with revision:" + SIMPLE_DATE_FORMAT.format(rev)
+                    + " declared twice"));
             throw e;
         }
     }
 
-    private void assertDependencyGraph(Map<String, Map<Date, ModuleNodeImpl>> moduleGraph) {
+    private void assertDependencyGraph(final Map<String, Map<Date, ModuleNodeImpl>> moduleGraph) {
         for (Entry<String, Map<Date, ModuleNodeImpl>> node : moduleGraph.entrySet()) {
             String name = node.getKey();
 
@@ -180,37 +164,38 @@ public class ModuleDependencySortTest {
         }
     }
 
-    private void assertEdgeCount(Set<Edge> inEdges, int i, Set<Edge> outEdges, int j) {
-        assertThat(inEdges.size(), is(i));
-        assertThat(outEdges.size(), is(j));
+    private void assertEdgeCount(final Set<Edge> inEdges, final int i, final Set<Edge> outEdges, final int j) {
+        assertEquals(i, inEdges.size());
+        assertEquals(j, outEdges.size());
     }
 
-    private void mockDependency(ModuleBuilder a, ModuleBuilder b) {
+    private void mockDependency(final ModuleBuilder a, final ModuleBuilder b) {
         ModuleImport imprt = mock(ModuleImport.class);
         doReturn(b.getName()).when(imprt).getModuleName();
+        doReturn(b.getName()).when(imprt).getPrefix();
         doReturn(b.getRevision()).when(imprt).getRevision();
-        a.getModuleImports().add(imprt);
+        a.getImports().put(b.getName(), imprt);
     }
 
-    private void mockDependency(Module a, Module b) {
+    private void mockDependency(final Module a, final Module b) {
         ModuleImport imprt = mock(ModuleImport.class);
         doReturn(b.getName()).when(imprt).getModuleName();
         doReturn(b.getRevision()).when(imprt).getRevision();
         a.getImports().add(imprt);
     }
 
-    private ModuleBuilder mockModuleBuilder(String name, Date rev) {
+    private ModuleBuilder mockModuleBuilder(final String name, final Date rev) {
         ModuleBuilder a = mock(ModuleBuilder.class);
         doReturn(name).when(a).getName();
-        Set<ModuleImport> set = Sets.newHashSet();
-        doReturn(set).when(a).getModuleImports();
+        Map<String, ModuleImport> map = new HashMap<>();
+        doReturn(map).when(a).getImports();
         if (rev != null) {
             doReturn(rev).when(a).getRevision();
         }
         return a;
     }
 
-    private Module mockModule(String name, Date rev) {
+    private Module mockModule(final String name, final Date rev) {
         Module a = mock(Module.class);
         doReturn(name).when(a).getName();
         Set<ModuleImport> set = Sets.newHashSet();