Skip to content
Snippets Groups Projects
SubjectDaoTest.java 2.54 KiB
Newer Older
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) {
		}
	}