From ac94e81de40c4cf03a25c63925d7a77b4f0dae90 Mon Sep 17 00:00:00 2001 From: Illia Date: Wed, 4 Nov 2020 17:05:15 +0200 Subject: [PATCH] Refactor FileSearchUtil Migrate to Java 11. Add method for verifying containment of consecutive lines. Add methods which add different level indentation. Change-Id: I54fff1d1f840375102eed479a3cb338085e03762 Signed-off-by: Illia --- .../api/generator/test/FileSearchUtil.java | 43 ++++++++++++++----- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/FileSearchUtil.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/FileSearchUtil.java index b8bfa34c95..599c712fe5 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/FileSearchUtil.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/FileSearchUtil.java @@ -8,25 +8,36 @@ package org.opendaylight.mdsal.binding.java.api.generator.test; 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 void assertFileContains(final File file, final String searchText) throws FileNotFoundException { - try (Scanner scanner = new Scanner(file)) { - while (scanner.hasNextLine()) { - if (scanner.nextLine().contains(searchText)) { - return; - } - } + static void assertFileContains(final File file, final String searchText) throws IOException { + assertFileContains(file, Files.readString(file.toPath()), searchText); + } + + static void assertFileContains(final File file, final String fileContent, final String searchText) { + if (!fileContent.contains(searchText)) { + throw new AssertionError("File " + file + " does not contain '" + searchText + "'"); + } + } + + static void assertFileContainsConsecutiveLines(final File file, final String fileContent, final String ... lines) { + for (final String line : lines) { + assertFileContains(file, fileContent, line); } - throw new AssertionError("File " + file + " does not contain '" + searchText + "'"); + assertFileContains(file, fileContent, String.join(LS, lines)); } static Map getFiles(final File path) { @@ -45,4 +56,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; + } } -- 2.36.6