package net.sourceforge.seqware.common.dao; import net.sourceforge.seqware.common.model.File; import net.sourceforge.seqware.common.model.FileAttribute; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; /** * <p> * FileAttributeDAOTest class. * </p> * * @author boconnor * @version $Id: $Id * @since 0.13.3 */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:dao-test-context.xml" }) @Transactional public class FileAttributeDAOTest { @Autowired private FileAttributeDAO fileAttributeDao; /** * <p> * test_add_missing_required_fields_fails. * </p> */ @Test(expected = DataIntegrityViolationException.class) public void test_add_missing_required_fields_fails() { FileAttribute fileAttribute = new FileAttribute(); fileAttribute.setUnit("ml"); fileAttributeDao.add(fileAttribute); } /** * <p> * test_add_missing_required_file_field_fails. * </p> */ @Test(expected = DataIntegrityViolationException.class) public void test_add_missing_required_file_field_fails() { FileAttribute fileAttribute = new FileAttribute(); fileAttribute.setTag("name"); fileAttribute.setValue("value"); fileAttributeDao.add(fileAttribute); } /** * <p> * test_add_with_all_required_fields_succeeds. * </p> * * @throws java.lang.Exception * if any. */ @Test public void test_add_with_all_required_fields_succeeds() throws Exception { FileAttribute fileAttribute = new FileAttribute(); fileAttribute.setTag("name"); fileAttribute.setValue("value"); fileAttribute.setFile(new File()); Integer id = fileAttributeDao.add(fileAttribute); FileAttribute actual = fileAttributeDao.get(id); assertThat(actual.getTag(), is("name")); assertThat(actual.getValue(), is("value")); assertThat(actual.getUnit(), nullValue()); } }