1
2
3
4
5
6
7 package net.sourceforge.addam.ddlrun.utils;
8
9 import junit.framework.TestCase;
10
11 import java.io.IOException;
12 import java.util.MissingResourceException;
13
14 import net.sourceforge.addam.ddlrun.utils.ClassLoaderReader;
15 import net.sourceforge.addam.ddlrun.utils.ClassLoaderReaderFactory;
16 import net.sourceforge.addam.ddlrun.utils.ResourceReader;
17
18 public class ClassLoaderReaderUTEST extends TestCase {
19
20 public void testCompletePath() throws IOException {
21 ClassLoaderReader reader = new ClassLoaderReader("foo", "bar");
22 assertEquals("foo/bar", reader.completeName);
23 reader = new ClassLoaderReader("foo/", "bar");
24 assertEquals("foo/bar", reader.completeName);
25 }
26
27 public void testExpectedUsage() throws IOException {
28 ResourceReader reader = new ClassLoaderReader("net/sourceforge/addam/ddlrun/utils", "test-resource.txt");
29 assertEquals("script-1.sql", reader.readLine());
30 assertEquals("script-2.sql", reader.readLine());
31 assertEquals(null, reader.readLine());
32 assertEquals(null, reader.readLine());
33 }
34
35 public void testExpectedUsageWithSubdir() throws IOException {
36 ResourceReader reader = new ClassLoaderReader("net/sourceforge/addam/ddlrun/utils/test", "../test-resource.txt");
37 assertEquals("script-1.sql", reader.readLine());
38 assertEquals("script-2.sql", reader.readLine());
39 assertEquals(null, reader.readLine());
40 assertEquals(null, reader.readLine());
41 }
42
43 public void testCanReadResourceFromTopFolder() throws IOException {
44 ResourceReader reader = new ClassLoaderReader("", "upgrade.drv");
45 assertEquals("one", reader.readLine());
46 assertEquals("two", reader.readLine());
47 assertEquals(null, reader.readLine());
48 }
49
50 public void testMissingResource() throws IOException {
51 ClassLoaderReaderFactory factory = new ClassLoaderReaderFactory();
52 ResourceReader reader = factory.getReader("missing-resource.txt");
53 try {
54 reader.readLine();
55 fail("expected exception");
56 } catch (MissingResourceException e) {
57
58 assertEquals("missing-resource.txt", e.getKey());
59 }
60 }
61 }