package com.kritsit.casetracker.shared.domain.model; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; import java.io.File; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; public class CaseTest extends TestCase { Case testCase; public CaseTest(String name) { super(name); } public static Test suite() { return new TestSuite(CaseTest.class); } public void setUp() { LocalDate date = LocalDate.now(); Incident incident = new Incident(1, "100 Long Street, Cape Town", "Western Cape", date, date, false); Defendant defendant = new Defendant(1, "0002225094081", "John", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com", false); Person complainant = new Person(1, "000222507686", "John", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com"); Staff investigatingOfficer = new Staff("testUser", "Test", "User", "Inspectorate", "Manager", Permission.EDITOR); List<Evidence> evidence = new ArrayList<>(); evidence.add(new Evidence(1, "A test evidence file", new File("server.file"), new File("local.file"))); testCase = new Case("1234/15", "SPCA vs Defendant", "3 dogs kept locked up", "3 dogs", investigatingOfficer, incident, defendant, complainant, date, evidence, false, null, "Malnutrition", "R4500 fine"); } public void testCreation() { assertTrue(testCase.getClass() == Case.class); } public void testAddEvidence() { Evidence e = new Evidence(1, "Second piece of evidence", new File("second.file"), new File("third.file")); testCase.addEvidence(e); assertTrue(e.equals(testCase.getEvidence().get(1))); } public void testAccessors() { LocalDate date = LocalDate.now(); Person complainant = new Person(1, "000222507686", "John", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com"); Incident incident = new Incident(1, "100 Long Street, Cape Town", "Western Cape", date, date, false); List<Evidence> evidence = new ArrayList<>(); evidence.add(new Evidence(1, "A test evidence file", new File("server.file"), new File("local.file"))); Staff investigatingOfficer = new Staff("testUser", "Test", "User", "Inspectorate", "Manager", Permission.EDITOR); Defendant defendant = new Defendant(1, "0002225094081", "John", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com", false); assertTrue("3 dogs".equals(testCase.getAnimalsInvolved())); assertTrue("1234/15".equals(testCase.getNumber())); assertTrue("SPCA vs Defendant".equals(testCase.getName())); assertTrue(complainant.equals(testCase.getComplainant())); assertTrue("3 dogs kept locked up".equals(testCase.getDescription())); assertTrue(incident.equals(testCase.getIncident())); assertTrue(evidence.equals(testCase.getEvidence())); assertTrue(investigatingOfficer.equals(testCase.getInvestigatingOfficer())); assertTrue(date.equals(testCase.getNextCourtDate())); assertTrue(defendant.equals(testCase.getDefendant())); assertFalse(testCase.isReturnVisit()); assertTrue(null == testCase.getReturnDate()); assertTrue("Malnutrition".equals(testCase.getType())); assertTrue("R4500 fine".equals(testCase.getRuling())); assertTrue(testCase.caseNumberProperty() != null); assertTrue(testCase.caseNameProperty() != null); assertTrue(testCase.caseTypeProperty() != null); } public void testMutators() { LocalDate date = LocalDate.now(); Person complainant = new Person(1, "000222507645", "Sam", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com"); Incident incident = new Incident(1, "100 Long Street, Cape Town", "Eastern Cape", date, date, false); Staff investigatingOfficer = new Staff("user", "Another", "User", "Inspectorate", "Manager", Permission.EDITOR); Defendant defendant = new Defendant(1, "0002225094573", "John", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com", true); List<Evidence> evidence = new ArrayList<>(); evidence.add(new Evidence(1, "A test evidence file", new File("server.file"), new File("local.file"))); testCase.setAnimalsInvolved("1 cat"); testCase.setNumber("112/15"); testCase.setName("SPCA vs someone else"); testCase.setType("Dog fighting"); testCase.setComplainant(complainant); testCase.setDescription("A dog fight"); testCase.setIncident(incident); testCase.setInvestigatingOfficer(investigatingOfficer); testCase.setNextCourtDate(date); testCase.setDefendant(defendant); testCase.setReturnDate(date); testCase.setRuling("Not guilty"); testCase.setEvidence(evidence); testCase.setReturnVisit(true); assertTrue("1 cat".equals(testCase.getAnimalsInvolved())); assertTrue("112/15".equals(testCase.getNumber())); assertTrue("SPCA vs someone else".equals(testCase.getName())); assertTrue("Dog fighting".equals(testCase.getType())); assertTrue(complainant.equals(testCase.getComplainant())); assertTrue("A dog fight".equals(testCase.getDescription())); assertTrue(incident.equals(testCase.getIncident())); assertTrue(investigatingOfficer.equals(testCase.getInvestigatingOfficer())); assertTrue(date.equals(testCase.getNextCourtDate())); assertTrue(defendant.equals(testCase.getDefendant())); assertTrue(date.equals(testCase.getReturnDate())); assertTrue("Not guilty".equals(testCase.getRuling())); assertTrue(evidence.equals(testCase.getEvidence())); assertTrue(testCase.isReturnVisit()); } public void testToString() { String toString = "Case: 1234/15 (SPCA vs Defendant)"; assertTrue(toString.equals(testCase.toString())); } public void testEquals_Null() { assertFalse(testCase.equals(null)); } public void testEquals_Class() { assertFalse(testCase.equals("testCase")); } public void testEquals() { LocalDate date = LocalDate.now(); Incident incident = new Incident(1, "100 Long Street, Cape Town", "Western Cape", date, date, false); Defendant defendant = new Defendant(1, "0002225094081", "John", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com", false); Person complainant = new Person(1, "000222507686", "John", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com"); Staff investigatingOfficer = new Staff("testUser", "Test", "User", "Inspectorate", "Manager", Permission.EDITOR); List<Evidence> evidence = new ArrayList<>(); evidence.add(new Evidence(1, "A test evidence file", new File("server.file"), new File("local.file"))); Case c = new Case("1234/15", "SPCA vs Defendant", "3 dogs kept locked up", "3 dogs", investigatingOfficer, incident, defendant, complainant, date, evidence, false, null, "Malnutrition", "R4500 fine"); Case anotherCase = new Case("1234/15", "SPCA vs Another Defendant", "3 dogs kept locked up", "3 dogs", investigatingOfficer, incident, defendant, complainant, date, evidence, false, null, "Malnutrition", "R4500 fine"); assertTrue(testCase.equals(c)); assertFalse(testCase.equals(anotherCase)); } }