Add unit tests for Config.java.
[cfb.git] / test / net / jaekl / qd / util / FileIOMock.java
diff --git a/test/net/jaekl/qd/util/FileIOMock.java b/test/net/jaekl/qd/util/FileIOMock.java
new file mode 100644 (file)
index 0000000..adfadf6
--- /dev/null
@@ -0,0 +1,39 @@
+package net.jaekl.qd.util;
+
+import java.io.File;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class FileIOMock extends FileIO {
+       private FileIOMock() { ; }
+       
+       public static void mock_setInstance() {
+               synchronized(FileIO.class) {
+                       m_inst = new FileIOMock();
+               }
+       }
+       
+       public static void mock_clearInstance() {
+               synchronized(FileIO.class) {
+                       m_inst = null;
+               }
+       }
+       
+       @Override
+       public InputStream openInput(File file) {
+               if (file instanceof FileMock) {
+                       FileMock fm = (FileMock)file;
+                       return fm.mock_openInput();
+               }
+               throw new IllegalArgumentException("Expected FileMock, not File");
+       }
+       
+       @Override
+       public OutputStream openOutput(File file) {
+               if (file instanceof FileMock) {
+                       FileMock fm = (FileMock)file;
+                       return fm.mock_openOutput();
+               }
+               throw new IllegalArgumentException("Expected FileMock, not File");
+       }
+}