package de.timefinder.core.io;
import de.timefinder.core.io.text.ImportText;
import de.timefinder.algo.util.TimeFinder2Tester;
import de.timefinder.data.Event;
import de.timefinder.data.Person;
import de.timefinder.data.access.Dao;
import java.io.StringReader;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* @author Peter Karich, peat_hal 'at' users 'dot' sourceforge 'dot' net
*/
public class ImportTextTest extends TimeFinder2Tester {
public ImportTextTest() {
}
@Before
@Override
public void setUp() {
super.setUp();
}
@Test
public void testDoWork() {
ImportText importer = new ImportText(dataPool, settings, null);
importer.setFeatureReader(new StringReader(""));
importer.setLocationReader(new StringReader(""));
importer.setPersonReader(new StringReader(
"#id\tname\tevents\n" +
"4\tPerson1\t1\n" +
"5\tPerson2\t1\n"));
importer.setEventReader(new StringReader(
"#id\tname\tduration\tpersons\n" +
"1\tEvent1\t10\t4,5\n" +
"2\tEvent2\t12\t\n" +
"3\tEvent3\t13\t\n"));
importer.doWork();
Dao<Event> newEDao = dataPool.getDao(Event.class);
Dao<Person> newPDao = dataPool.getDao(Person.class);
assertEquals(3, newEDao.getAll().size());
assertEquals(2, newPDao.getAll().size());
Event ev1 = newEDao.findById(1L);
assertEquals("Event1", ev1.getName());
assertEquals("Event2", newEDao.findById(2L).getName());
assertEquals("Event3", newEDao.findById(3L).getName());
assertEquals(2, ev1.getPersons().size());
Person p1 = newPDao.findById(1L);
Person p2 = newPDao.findById(2L);
assertEquals("Person1", p1.getName());
assertEquals("Person2", p2.getName());
assertEquals(1, p1.getEvents().size());
assertEquals(1, p2.getEvents().size());
assertEquals(ev1, p2.getEvents().iterator().next());
}
}