diff --git a/src/main/java/tester/Main.java b/src/main/java/tester/Main.java index 28d00c68cc796657ca21cd7cdf1a3402ead41ce8..215a11b8ab9f294707a0d33965a715bc0f9ad0d7 100644 --- a/src/main/java/tester/Main.java +++ b/src/main/java/tester/Main.java @@ -6,8 +6,8 @@ import java.io.*; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.Base64; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.stream.Stream; public class Main { @@ -23,6 +23,10 @@ public class Main { return sb.toString(); } + private static byte[] decodeB64(String input) { + return Base64.getDecoder().decode(input); + } + private static boolean runTest(String jarfile, String testName) throws FileNotFoundException { System.out.printf("Running test \"%s\"\n", testName); @@ -97,8 +101,8 @@ public class Main { System.out.printf("File: %s\n", f); System.out.println(); try { - String got = fileToString(f); - boolean erro = compareStrings(got, e); + byte[] got = Files.readAllBytes(Paths.get(f)); + boolean erro = compareFiles(got, decodeB64(e)); if (erro) { error.set(true); } else { @@ -211,10 +215,19 @@ public class Main { return error; } - private static String fileToString(String path) throws IOException { - StringBuilder build = new StringBuilder(); - Stream<String> stream = Files.lines(Paths.get(path), StandardCharsets.UTF_8); - stream.forEach(s -> build.append(s).append("\n")); - return build.toString(); + private static boolean compareFiles(byte[] got, byte[] expect) { + if (got.length != expect.length) { + System.out.println("❌ A fájlméretek különböznek"); + return false; + } + + var err = false; + for (int i = 0; i < expect.length; i++) { + if (got[i] != expect[i]) { + System.out.printf("❌ A %d. byte (karakter) nem passzol\n", i); + err = true; + } + } + return err; } }