1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package net.sf.statcvs.model;
24
25 import java.util.Collection;
26 import java.util.Date;
27
28 import junit.framework.TestCase;
29
30 /**
31 * @author Richard Cyganiak
32 * @version $Id: CvsContentTest.java,v 1.3 2002/08/17 21:24:55 cyganiak Exp $
33 */
34 public class CvsContentTest extends TestCase {
35 private Author tester1;
36 private Author tester2;
37 private Author tester3;
38 private Author tester4;
39 private Directory dirRoot;
40 private Directory dirTest;
41 private Directory dirTest1;
42 private final Date date = new Date(100000000);
43
44 /**
45 * Constructor for CvsContentTest.
46 * @param arg0 input
47 */
48 public CvsContentTest(final String arg0) {
49 super(arg0);
50 }
51
52 /**
53 * @see TestCase#setUp()
54 */
55 protected void setUp() throws Exception {
56 super.setUp();
57 tester1 = new Author("tester1");
58 tester2 = new Author("tester2");
59 tester3 = new Author("tester3");
60 tester4 = new Author("tester4");
61 dirRoot = Directory.createRoot();
62 dirTest = dirRoot.createSubdirectory("test");
63 dirTest1 = dirRoot.createSubdirectory("test1");
64 }
65
66 /**
67 * Method testGetDirectories.
68 */
69 public void testGetDirectories() {
70 final VersionedFile file1 = new VersionedFile("test/test1.java", dirTest);
71 file1.addInitialRevision("1.1", tester1, date, null, 0, null);
72 final VersionedFile file2 = new VersionedFile("test2.java", dirRoot);
73 file2.addInitialRevision("1.1", tester1, date, null, 0, null);
74 final VersionedFile file3 = new VersionedFile("test1/test3.java", dirTest1);
75 file3.addInitialRevision("1.1", tester1, date, null, 0, null);
76 final VersionedFile file4 = new VersionedFile("test/test2.java", dirTest);
77 file4.addInitialRevision("1.1", tester1, date, null, 0, null);
78 final VersionedFile file5 = new VersionedFile("test1/test1.java", dirTest1);
79 file5.addInitialRevision("1.1", tester1, date, null, 0, null);
80 final VersionedFile file6 = new VersionedFile("test/test3.java", dirTest);
81 file6.addInitialRevision("1.1", tester1, date, null, 0, null);
82
83 final Repository content = new Repository();
84 content.addFile(file1);
85 content.addFile(file2);
86 content.addFile(file3);
87 content.addFile(file4);
88 content.addFile(file5);
89 content.addFile(file6);
90
91 final Collection dirs = content.getDirectories();
92
93 assertEquals(3, dirs.size());
94 assertTrue(dirs.contains(dirTest));
95 assertTrue(dirs.contains(dirTest1));
96 assertTrue(dirs.contains(dirRoot));
97 }
98
99 /**
100 * Method testGetDirectoriesPerUser.
101 */
102 public void testGetDirectoriesPerUser() {
103 final VersionedFile file1 = new VersionedFile("test/test1.java", dirTest);
104 file1.addChangeRevision("1.2", tester1, date, null, 0, 0, 0, null);
105 file1.addInitialRevision("1.1", tester2, date, null, 0, null);
106 final VersionedFile file2 = new VersionedFile("test2.java", dirRoot);
107 file2.addChangeRevision("2.3", tester1, date, null, 0, 0, 0, null);
108 file2.addChangeRevision("2.2", tester1, date, null, 0, 0, 0, null);
109 file2.addInitialRevision("2.1", tester3, date, null, 0, null);
110 final VersionedFile file3 = new VersionedFile("test1/test3.java", dirTest1);
111 file3.addInitialRevision("3.1", tester2, date, null, 0, null);
112 final VersionedFile file4 = new VersionedFile("test/test2.java", dirTest);
113 file4.addInitialRevision("4.1", tester2, date, null, 0, null);
114 final VersionedFile file5 = new VersionedFile("test1/test1.java", dirTest1);
115 file5.addChangeRevision("5.3", tester2, date, null, 0, 0, 0, null);
116 file5.addChangeRevision("5.2", tester2, date, null, 0, 0, 0, null);
117 file5.addInitialRevision("5.1", tester2, date, null, 0, null);
118 final VersionedFile file6 = new VersionedFile("test/test3.java", dirTest);
119 file6.addChangeRevision("6.2", tester1, date, null, 0, 0, 0, null);
120 file6.addInitialRevision("6.1", tester3, date, null, 0, null);
121
122 final Repository content = new Repository();
123 content.addFile(file1);
124 content.addFile(file2);
125 content.addFile(file3);
126 content.addFile(file4);
127 content.addFile(file5);
128 content.addFile(file6);
129
130 Collection dirs = tester1.getDirectories();
131 assertEquals(2, dirs.size());
132 assertTrue(dirs.contains(dirTest));
133 assertTrue(dirs.contains(dirRoot));
134
135 dirs = tester2.getDirectories();
136 assertEquals(2, dirs.size());
137 assertTrue(dirs.contains(dirTest));
138 assertTrue(dirs.contains(dirTest1));
139
140 dirs = tester3.getDirectories();
141 assertEquals(2, dirs.size());
142 assertTrue(dirs.contains(dirRoot));
143 assertTrue(dirs.contains(dirTest));
144 }
145
146 /**
147 * Method testUserNames.
148 */
149 public void testUserNames() {
150 final VersionedFile file1 = new VersionedFile("test/Burg.java", dirTest);
151 file1.addChangeRevision("1.3", tester1, date, null, 0, 0, 0, null);
152 file1.addChangeRevision("1.2", tester2, date, null, 0, 0, 0, null);
153 file1.addInitialRevision("1.1", tester1, date, null, 0, null);
154 final VersionedFile file2 = new VersionedFile("test/History.java", dirTest);
155 file2.addChangeRevision("2.2", tester3, date, null, 0, 0, 0, null);
156 file2.addInitialRevision("2.1", tester4, date, null, 0, null);
157 final VersionedFile file3 = new VersionedFile("test/Spieler.java", dirTest);
158 file3.addChangeRevision("3.4", tester2, date, null, 0, 0, 0, null);
159 file3.addChangeRevision("3.3", tester4, date, null, 0, 0, 0, null);
160 file3.addChangeRevision("3.2", tester1, date, null, 0, 0, 0, null);
161 file3.addInitialRevision("3.1", tester2, date, null, 0, null);
162 final Repository content = new Repository();
163 content.addFile(file1);
164 content.addFile(file2);
165 content.addFile(file3);
166
167 assertEquals(4, content.getAuthors().size());
168 }
169
170 /**
171 * The null author used for "begin of log" revisions must not be included
172 * in the authors list
173 */
174 public void testIgnoreNullAuthor() {
175 final VersionedFile file = new VersionedFile("test/file", dirTest);
176 file.addInitialRevision("0.0", null, date, null, 0, null);
177 final Repository content = new Repository();
178 content.addFile(file);
179
180 assertTrue(content.getAuthors().isEmpty());
181 }
182 }