|
Finally, there's the ListFile class. Since we want to
replace its use of the FileHandler module with a mock
module, we make a constructor that receives the implementation
of the FileInterface. ListFile only has one method
(list), used to list the contents of a specified file:
package hansen.playground.mock;
public class ListFile {
FileInterface intf;
public ListFile(FileInterface intf) {
this.intf = intf;
}
public boolean list(String filename) {
intf.open(filename);
if (intf.fault()) {
System.out.println("ListFile: Error when opening file");
return false;
}
while ((line = intf.read()) != null) {
if (intf.fault()) {
System.out.println("ListFile: Error when reading file");
return false;
}
System.out.println(line);
}
intf.close();
return true;
}
}
Error handling is deliberately kept as simple as possible. I'm sorry, but
proper error handling is out of scope for this article.
You get the contents of a file listed if you code something like
this:
ListFile lf = new ListFile(new FileHandler());
lf.list("c:\\myfile.txt");
The only thing to unit test in relation to the use of ListFile, is the return code from the
list method, so you
might build a small JUnit test program like this:
. . .
public void testOne() {
boolean status;
ListFile lf = new ListFile(new FileHandler());
String file = "d:\\ex2.xml";
status = lf.list(file);
assertTrue("Error reading file " + file, status);
file = "d:\\doesnotexist";
status = lf.list(file);
assertTrue("Should not find file " + file, !status);
}
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|