preserve file order for comparing

This commit is contained in:
marhali 2022-10-28 22:31:58 +02:00
parent 1a4df58447
commit 853f36dd55

View File

@ -17,8 +17,7 @@ import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.Collection; import java.util.Arrays;
import java.util.Iterator;
import java.util.Objects; import java.util.Objects;
/** /**
@ -64,22 +63,23 @@ public abstract class EndToEndTestCase extends BasePlatformTestCase {
IOFileFilter fileFilter = TrueFileFilter.INSTANCE; IOFileFilter fileFilter = TrueFileFilter.INSTANCE;
File originalDirectory = new File(Objects.requireNonNull(settings.getLocalesDirectory())); File originalDirectory = new File(Objects.requireNonNull(settings.getLocalesDirectory()));
Collection<File> originalFiles = FileUtils.listFiles(originalDirectory, fileFilter, fileFilter); File[] originalFiles = FileUtils.listFiles(originalDirectory, fileFilter, fileFilter).toArray(new File[0]);
File outputDirectory = tempPath.toFile(); File outputDirectory = tempPath.toFile();
Collection<File> outputFiles = FileUtils.listFiles(outputDirectory, fileFilter, fileFilter); File[] outputFiles = FileUtils.listFiles(outputDirectory, fileFilter, fileFilter).toArray(new File[0]);
assertEquals(originalFiles.size(), outputFiles.size()); Arrays.sort(originalFiles);
Arrays.sort(outputFiles);
Iterator<File> originalFilesIterator = originalFiles.iterator(); assertEquals(originalFiles.length, outputFiles.length);
Iterator<File> outputFilesIterator = outputFiles.iterator();
while(originalFilesIterator.hasNext()) { for(int i = 0; i < originalFiles.length; i++) {
File originalFile = originalFilesIterator.next(); File originalFile = originalFiles[i];
File outputFile = outputFilesIterator.next(); File outputFile = outputFiles[i];
assertEquals(FileUtils.readFileToString(originalFile, CHARSET), // Replace originalFile with os-dependent line-separators
FileUtils.readFileToString(outputFile, CHARSET).replace("\r\n", "\n")); assertEquals(FileUtils.readFileToString(originalFile, CHARSET).replace("\n", System.lineSeparator()),
FileUtils.readFileToString(outputFile, CHARSET));
} }
} }
} }