1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package net.sf.statcvs.input;
21
22 import net.sf.statcvs.model.Author;
23 import net.sf.statcvs.model.Directory;
24
25 /**
26 * Test dummy of {@link Builder} for use in
27 * {@link FileBuilderTest}. Returns authors, directories
28 * and LOC counts for a fixed set of arguments.
29 *
30 * @author Richard Cyganiak <richard@cyganiak.de>
31 * @version $Id: DummyBuilder.java,v 1.5 2008/04/02 11:22:14 benoitx Exp $
32 */
33 public class DummyBuilder extends Builder {
34 private final Author author1 = new Author("author1");
35 private final Author author2 = new Author("author2");
36 private final Author author3 = new Author("author3");
37 private final Directory root = Directory.createRoot();
38 private final Directory dir1 = root.createSubdirectory("dir1");
39 private final Directory dir2 = root.createSubdirectory("dir2");
40 private final Directory subdir = dir1.createSubdirectory("subdir");
41
42 public DummyBuilder() {
43 super(null, null, null, null);
44 }
45
46
47
48
49 public Author getAuthor(final String name) {
50 if ("author1".equals(name)) {
51 return author1;
52 } else if ("author2".equals(name)) {
53 return author2;
54 } else if ("author3".equals(name)) {
55 return author3;
56 }
57 throw new IllegalArgumentException(name);
58 }
59
60
61
62
63 public Directory getDirectory(final String filename) {
64 if ("file".equals(filename) || "nolinecount".equals(filename)) {
65 return root;
66 } else if ("dir1/file".equals(filename)) {
67 return dir1;
68 } else if ("dir2/file".equals(filename)) {
69 return dir2;
70 } else if ("dir1/subdir/file".equals(filename)) {
71 return subdir;
72 }
73 throw new IllegalArgumentException(filename);
74 }
75
76
77
78
79 public int getLOC(final String filename) throws NoLineCountException {
80 if ("file".equals(filename)) {
81 return 100;
82 } else if ("nolinecount".equals(filename)) {
83 throw new NoLineCountException();
84 } else if ("dir1/file".equals(filename)) {
85 return 10;
86 } else if ("dir2/file".equals(filename)) {
87 return 20;
88 } else if ("dir1/subdir/file".equals(filename)) {
89 return 500;
90 }
91 throw new IllegalArgumentException(filename);
92 }
93
94 }