package com.kritsit.casetracker.shared.domain.model;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import java.time.LocalDate;
public class IncidentTest extends TestCase {
Incident incident;
public IncidentTest(String name) {
super(name);
}
public static Test suite() {
return new TestSuite(IncidentTest.class);
}
public void setUp() {
LocalDate date = LocalDate.parse("2015-01-19");
LocalDate followUpDate = LocalDate.parse("2015-02-19");
incident = new Incident(1, "100 Long Street, Cape Town", "Western Cape",
date, followUpDate, false);
}
public void testCreation() {
assertTrue(incident.getClass() == Incident.class);
Incident i = new Incident(1, -25.0001, 10.11, "Western Cape",
LocalDate.now(), LocalDate.now(), false);
assertTrue(i.getClass() == Incident.class);
i = new Incident();
assertTrue(i.getAddress() == null);
}
public void testAccessors() {
LocalDate date = LocalDate.parse("2015-01-19");
LocalDate followUpDate = LocalDate.parse("2015-02-19");
assertTrue(1 == incident.getIndexId());
assertTrue("100 Long Street, Cape Town".equals(incident.getAddress()));
assertTrue("Western Cape".equals(incident.getRegion()));
assertTrue(date.equals(incident.getDate()));
assertTrue(followUpDate.equals(incident.getFollowUpDate()));
assertFalse(incident.isFollowedUp());
assertTrue(incident.dateProperty() != null);
}
public void testMutators() {
LocalDate followUpDate = LocalDate.now();
LocalDate date = LocalDate.now();
incident.setIndexId(2);
incident.setLongitude(-25.993);
incident.setLatitude(10.26653);
incident.setAddress("20 Aderly Street, Cape Town");
incident.setRegion("Eastern Cape");
incident.setDate(date);
incident.setFollowUpDate(followUpDate);
incident.setFollowedUp(true);
assertTrue(2 == incident.getIndexId());
assertTrue(Math.abs(-25.993 - incident.getLongitude()) < 0.00001);
assertTrue(Math.abs(10.26653 - incident.getLatitude()) < 0.00001);
assertTrue("20 Aderly Street, Cape Town".equals(incident.getAddress()));
assertTrue("Eastern Cape".equals(incident.getRegion()));
assertTrue(date.equals(incident.getDate()));
assertTrue(followUpDate.equals(incident.getFollowUpDate()));
assertTrue(incident.isFollowedUp());
}
public void testGetDefaultFollowUpDate() {
LocalDate date = LocalDate.parse("2015-01-10");
assertTrue(date.plusWeeks(1L).equals(Incident.getDefaultFollowUpDate(date)));
}
public void testEquals_Null() {
assertFalse(incident.equals(null));
}
public void testEquals_Class() {
LocalDate date = LocalDate.now();
assertFalse(incident.equals(date.plusDays(2)));
}
public void testEquals() {
LocalDate date = LocalDate.parse("2015-01-19");
LocalDate followUpDate = LocalDate.parse("2015-02-19");
Incident i = new Incident(1, "100 Long Street, Cape Town", "Western Cape",
date, followUpDate, false);
Incident differentIncident = new Incident(2, "230 Long Street, Cape Town",
"Western Cape", date, followUpDate, false);
assertTrue(incident.equals(i));
assertFalse(incident.equals(differentIncident));
}
public void testToString_Address() {
String incidentString = "Incident: 100 Long Street, Cape Town (2015-01-19)";
assertTrue(incidentString.equals(incident.toString()));
}
public void testToString_Coordinates() {
String incidentString = "Incident: 20.221, -12.776 (2015-01-19)";
LocalDate date = LocalDate.parse("2015-01-19");
LocalDate followUpDate = LocalDate.parse("2015-02-19");
Incident i = new Incident(1, 20.221, -12.776, "Western Cape", date,
followUpDate, false);
assertTrue(incidentString.equals(i.toString()));
}
}