1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.creadur.whisker.it;
20
21 import static org.apache.creadur.whisker.it.CheckHelpers.*;
22
23 import java.io.*;
24 import java.util.ArrayList;
25 import java.util.List;
26
27 public class FileVerifier {
28
29 final File licenseFile;
30 final List<Check> checks;
31 final String title;
32
33
34 public FileVerifier(final File licenseFile, final String displayName) {
35 this.licenseFile = licenseFile;
36 this.checks = new ArrayList<Check>();
37 this.title = "FAILURES in " + displayName + ":";
38 }
39
40 public FileVerifier expectThat(final Check check) {
41 this.checks.add(check);
42 return this;
43 }
44
45 public String failures() throws Exception {
46 BufferedReader reader = new BufferedReader(new InputStreamReader(
47 new FileInputStream(licenseFile), "UTF-8"));
48 try {
49 String line = null;
50 do {
51 line = checkLine(reader.readLine());
52 } while (line != null);
53 } finally {
54 reader.close();
55 }
56
57 final Results results = new Results().titled(title);
58 return to(results).report(checks).collate();
59 }
60
61 private String checkLine(final String line) {
62 doCheck(line).with(checks);
63 return line;
64 }
65 }