1 package kortsoft.kmx;
2
3 import java.io.File;
4 import java.util.Collection;
5
6 import junit.framework.TestCase;
7
8 /***
9 * Abstract base class for test cases.
10 *
11 * @author <a href="jason@zenplex.com">Jason van Zyl</a>
12 */
13 public abstract class AbstractTestCase extends TestCase {
14 /***
15 * Basedir for all file I/O. Important when running tests from
16 * the reactor.
17 */
18 public String basedir = System.getProperty("basedir");
19
20 /***
21 * Constructor.
22 */
23 public AbstractTestCase(String testName) {
24 super(testName);
25 }
26
27 /***
28 * Get test input file.
29 *
30 * @param path Path to test input file.
31 */
32 public String getTestFile(String path) {
33 return new File(basedir, path).getAbsolutePath();
34 }
35
36 public File getTestDirectory(){
37 return new File(basedir,"target/test-classes");
38 }
39
40 /***
41 * @param message
42 * @param contained
43 * @param container
44 */
45 protected void assertLisContains(String message, Object contained, Collection<?> container) {
46 assertNotNull(message+": Container is null",container);
47 assertTrue(message,container.contains(contained));
48 }
49
50 /***
51 * @param message
52 * @param contained
53 * @param container
54 */
55 protected void assertLisContainsAll(String message, Collection<?> all, Collection<?> container) {
56 if (all!=null){
57 assertNotNull(message+": Container is null",container);
58 assertTrue(message,container.containsAll(all));
59 }
60 }
61
62 /***
63 * @param string
64 * @param notModifiedFile
65 * @param modifies
66 */
67 protected void assertLisNotContains(String message, Object notContained, Collection<?> container) {
68 if (container!=null)
69 assertFalse(message,container.contains(notContained));
70 }
71 }