Specialize relative leafref types during instantiation
[mdsal.git] / binding / mdsal-binding-java-api-generator / src / test / java / org / opendaylight / mdsal / binding / java / api / generator / test / FileSearchUtil.java
index 19abb376152316ea42d63ba476fe951ec5aa8546..b57dfd54722d0dab49a4ce22b960c026a3bef7cd 100644 (file)
@@ -7,27 +7,38 @@
  */
 package org.opendaylight.mdsal.binding.java.api.generator.test;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
+
 import java.io.File;
-import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.nio.file.Files;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Scanner;
 
 final class FileSearchUtil {
+    private static final String LS = System.lineSeparator();
+    static final String TAB = "    ";
+    static final String DOUBLE_TAB = TAB.repeat(2);
+    static final String TRIPLE_TAB = TAB.repeat(3);
+
     private FileSearchUtil() {
         // Hidden on purpose
     }
 
-    static boolean findInFile(final File file, final String searchText) throws FileNotFoundException {
-        try (Scanner scanner = new Scanner(file)) {
-            while (scanner.hasNextLine()) {
-                final String nextLine = scanner.nextLine();
-                if (nextLine.contains(searchText)) {
-                    return true;
-                }
-            }
+    static void assertFileContains(final File file, final String searchText) throws IOException {
+        assertFileContains(Files.readString(file.toPath()), searchText);
+    }
+
+    static void assertFileContains(final String fileContent, final String searchText) {
+        assertThat(fileContent, containsString(searchText));
+    }
+
+    static void assertFileContainsConsecutiveLines(final File file, final String fileContent, final String ... lines) {
+        for (final String line : lines) {
+            assertFileContains(fileContent, line);
         }
-        return false;
+        assertFileContains(fileContent, String.join(LS, lines));
     }
 
     static Map<String, File> getFiles(final File path) {
@@ -46,4 +57,16 @@ final class FileSearchUtil {
             files.put(file.getName(), file);
         }
     }
+
+    static String tab(final String line) {
+        return TAB + line;
+    }
+
+    static String doubleTab(final String line) {
+        return DOUBLE_TAB + line;
+    }
+
+    static String tripleTab(final String line) {
+        return TRIPLE_TAB + line;
+    }
 }