1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.analysis.license;
20
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.fail;
23
24 import java.io.BufferedReader;
25 import java.io.File;
26
27 import org.apache.commons.io.IOUtils;
28 import org.apache.rat.analysis.IHeaderMatcher.State;
29 import org.apache.rat.license.ILicense;
30 import org.apache.rat.test.utils.Resources;
31 import org.junit.jupiter.api.Test;
32
33 class DirectoryScanner {
34
35 @SuppressWarnings("boxing")
36
37
38
39
40
41
42
43
44 @Test
45 public static void testFilesInDir(String directory, ILicense license, boolean expected) throws Exception {
46 final File[] resourceFiles = Resources.getResourceFiles(directory);
47 if (resourceFiles.length == 0) {
48 fail("No files found under " + directory);
49 }
50 for (File f : resourceFiles) {
51 BufferedReader br = null;
52 try {
53 boolean result = false;
54 br = Resources.getBufferedReader(f);
55 String line;
56 while (!result && (line = br.readLine()) != null) {
57 result = license.matches(line) == State.t;
58 }
59 assertEquals(expected, result, f.toString());
60 } finally {
61 license.reset();
62 IOUtils.closeQuietly(br);
63 }
64 }
65 }
66
67 }