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  }