package smash.appointment.parse; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.Test; public class SubjectDaoTest { @AfterClass public static void tearDownAfterClass() throws Exception { } @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void testReadFile() throws Exception { SubjectDao subjectDao = new SubjectDao(); subjectDao.readFile("testFiles/subjects.txt"); assertEquals(2, subjectDao.getSubjects().size()); assertEquals("Piotr", subjectDao.getSubjects().get(0).getName()); } @Test public void testDuplicateRem() throws Exception { Subject subject1 = new Subject("A", "B", "C", "D"); subject1.setToBeSeenAt(""); Subject subject2 = new Subject("A", "B", "", "E"); subject2.setToBeSeenAt(""); SubjectDao subjectDao = new SubjectDao(); subjectDao.addSubject(subject1, null); subjectDao.addSubject(subject2, null); subjectDao.removeDuplicate(subject1, subject2, null); assertEquals(1, subjectDao.getSubjects().size()); assertTrue(subject1.getScreeningNumber().contains("D")); assertTrue(subject1.getScreeningNumber().contains("E")); assertEquals("C", subject1.getNdNumber()); } @Test public void testDuplicateRem2() throws Exception { Subject subject1 = new Subject("A", "B", "C", "D"); subject1.setToBeSeenAt(""); Subject subject2 = new Subject("A", "B", "", "E"); subject2.setToBeSeenAt(""); SubjectDao subjectDao = new SubjectDao(); subjectDao.addSubject(subject1, null); subjectDao.addSubject(subject2, null); subjectDao.removeDuplicate(subject2, subject1, null); assertEquals(1, subjectDao.getSubjects().size()); assertTrue(subject2.getScreeningNumber().contains("D")); assertTrue(subject2.getScreeningNumber().contains("E")); assertEquals("C", subject2.getNdNumber()); } @Test public void testDuplicateRem3() throws Exception { try { Subject subject1 = new Subject("A", "B", "C", "D"); subject1.setToBeSeenAt(""); Subject subject2 = new Subject("A", "B", "X", "E"); subject2.setToBeSeenAt(""); SubjectDao subjectDao = new SubjectDao(); subjectDao.addSubject(subject1, null); subjectDao.addSubject(subject2, null); subjectDao.removeDuplicate(subject2, subject1, null); fail("Exception expected"); } catch (InvalidArgumentException e) { } } }