summaryrefslogtreecommitdiff
path: root/src/main/JUTests/data/io/SafeDataReaderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/JUTests/data/io/SafeDataReaderTest.java')
-rw-r--r--src/main/JUTests/data/io/SafeDataReaderTest.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/main/JUTests/data/io/SafeDataReaderTest.java b/src/main/JUTests/data/io/SafeDataReaderTest.java
new file mode 100644
index 0000000..427004b
--- /dev/null
+++ b/src/main/JUTests/data/io/SafeDataReaderTest.java
@@ -0,0 +1,51 @@
+package data.io;
+
+import static org.junit.Assert.*;
+
+import java.util.Iterator;
+
+import org.apache.log4j.PropertyConfigurator;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import data.MVDataEntry;
+import data.io.stub.StubDataReader;
+
+public class SafeDataReaderTest {
+
+ private static final String LOG_PROPERTIES_FILE = "conf/log4j.properties";
+
+ @BeforeClass
+ public static void setup() {
+ PropertyConfigurator.configure(LOG_PROPERTIES_FILE);
+ }
+
+ @Test
+ public void testNoErrors() {
+ MVDataEntry testEntries[] = new MVDataEntry[5];
+ for (int i=0;i<5;i++) {
+ testEntries[i] = new MVDataEntry("line"+(i+1));
+ testEntries[i].put("attr1", "value"+(i+1));
+ }
+
+ StubDataReader src = new StubDataReader("testNoSkipErrors_src", testEntries);
+ StubDataReader expected = new StubDataReader("testNoSkipErrors_expected", testEntries);
+
+ SafeDataReader reader = new SafeDataReader(src, false);
+
+ // Test twice to check if asking a new iterator "rewinds" correctly
+ for (int i=0;i<2;i++) {
+ //System.out.println("Loop " + (i+1));
+ Iterator<MVDataEntry> readerIt = reader.iterator();
+ for ( MVDataEntry e: expected) {
+ assertTrue(readerIt.hasNext());
+ MVDataEntry r = readerIt.next();
+ //System.out.println(e + " / " + r);
+ assertEquals(e, r);
+ }
+ assertFalse(readerIt.hasNext());
+ }
+ }
+
+ //TODO Real tests with messy input readers (null values, exception, hasNext/next() incoherence)
+}