/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package oms3.io;
import oms3.io.CSProperties;
import oms3.io.CSVStrategy;
import oms3.io.CSVParser;
import oms3.io.DataIO;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
/**
*
* @author Olaf David
*/
public class PropertiesTest {
Reader r;
@Before
public void init() throws FileNotFoundException {
r = new FileReader(this.getClass().getResource("test.csv").getFile());
}
private Reader[] open(String... f) throws FileNotFoundException {
Reader[] r = new Reader[f.length];
for (int i = 0; i < r.length; i++) {
r[i] = new FileReader(this.getClass().getResource(f[i]).getFile());
}
return r;
}
@After
public void done() throws IOException {
r.close();
}
// @Test
public void test1() throws IOException {
BufferedReader r = new BufferedReader(new FileReader(this.getClass().getResource("test.csv").getFile()));
CSVParser reader = new CSVParser(r, CSVStrategy.DEFAULT_STRATEGY);
String[] nextLine;
while ((nextLine = reader.getLine()) != null) {
for (String string : nextLine) {
System.out.println("token " + string);
}
System.out.println("-----");
}
}
@Test(expected = IllegalArgumentException.class)
public void testWroneProp() throws Exception {
CSProperties p = DataIO.properties(r, "notThere");
}
@Test
public void testProp() throws Exception {
CSProperties p = DataIO.properties(r, "hello");
Assert.assertEquals("olaf", p.getInfo().get("by"));
Assert.assertEquals("1.234", p.get("temp"));
Assert.assertEquals("20", p.getInfo("temp").get("dim"));
Assert.assertEquals(null, p.get("empty"));
Assert.assertTrue(p.containsKey("empty"));
Assert.assertEquals("1", p.getInfo("empty").get("index"));
Assert.assertTrue(p.getInfo("empty").containsKey("public"));
Assert.assertTrue(p.getInfo("empty").containsKey("required"));
Assert.assertEquals(3, p.keySet().size());
Assert.assertEquals(3, p.values().size());
}
@Test
public void testPropSet2() throws Exception {
CSProperties p = DataIO.properties(r, "set1");
Assert.assertEquals(11, p.keySet().size());
Assert.assertEquals(11, p.values().size());
}
@Test
public void testPropSetMerge() throws Exception {
Reader[] reader = open("proptest1.csp", "proptest2.csp");
CSProperties p = DataIO.properties(reader, "parameter");
Assert.assertEquals(5, p.keySet().size());
Assert.assertEquals(5, p.values().size());
// DataIO.print(p, new PrintWriter(System.out));
}
}