/*
* Copyright (c) 2012 Chris Ellison, Mike Deats, Liron Yahdav, Ryan Neal,
* Brandon Sutherlin, Scott Griffin
*
* This software is released under the MIT license
* (http://www.opensource.org/licenses/mit-license.php)
*
* Created on Feb 7, 2012
*/
package edu.cmu.sv.arinc838.dao;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotEquals;
import static org.testng.Assert.assertTrue;
import org.testng.annotations.Test;
import com.arinc.arinc838.ThwDefinition;
public class TargetHardwareDefinitionDaoTest {
private TargetHardwareDefinitionDao first;
private TargetHardwareDefinitionDao second;
@Test
public void testIdAccessors () {
ThwDefinition jaxbDef = new com.arinc.arinc838.ThwDefinition();
jaxbDef.setThwId("test");
TargetHardwareDefinitionDao thDao = new TargetHardwareDefinitionDao();
thDao.setThwId(jaxbDef.getThwId());
assertEquals(thDao.getThwId(), jaxbDef.getThwId());
thDao.setThwId("Not that value");
assertNotEquals(thDao, jaxbDef.getThwId());
}
@Test
public void testPositionsAccessors () {
ThwDefinition jaxbDef = new ThwDefinition();
jaxbDef.setThwId("id");
jaxbDef.getThwPosition().add("one");
jaxbDef.getThwPosition().add("two");
TargetHardwareDefinitionDao thDao = new TargetHardwareDefinitionDao();
assertEquals(thDao.getPositions().size(), 0);
for (String pos : jaxbDef.getThwPosition()) {
thDao.addPosition(pos);
}
assertEquals(thDao.getPositions().size(), jaxbDef.getThwPosition().size());
assertEquals(thDao.getPositions().get(0), "one");
assertEquals(thDao.getPositions().get(1), "two");
}
@Test
public void equalsFailsIfPositionsAreNotSame() {
first = new TargetHardwareDefinitionDao();
first.setThwId("first");
first.getPositions().add("one");
first.getPositions().add("two");
second = new TargetHardwareDefinitionDao();
second.setThwId(first.getThwId());
second.addPosition(first.getPositions().get(1));
second.addPosition(first.getPositions().get(0));
assertNotEquals(first, second);
}
@Test
public void testHashCode() {
assertEquals(first.hashCode(), first.getThwId().hashCode());
}
@Test
public void testHashCodeWithNoId() {
assertEquals(new TargetHardwareDefinitionDao().hashCode(), 0);
}
@Test
public void testEquals() {
first = new TargetHardwareDefinitionDao();
first.setThwId("first");
first.getPositions().add("one");
first.getPositions().add("two");
second = new TargetHardwareDefinitionDao();
second.setThwId(first.getThwId());
second.addPosition(first.getPositions().get(0));
second.addPosition(first.getPositions().get(1));
assertTrue (first.equals(second));
assertTrue (second.equals(first));
assertFalse (first.equals(null));
assertFalse (first.equals(new Object()));
}
}