package com.kritsit.casetracker.shared.domain.model;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import java.util.ArrayList;
import java.util.List;
public class DefendantTest extends TestCase {
Defendant defendant;
public DefendantTest(String name) {
super(name);
}
public static Test suite() {
return new TestSuite(DefendantTest.class);
}
public void setUp() {
defendant = new Defendant(1, "0002225094081", "John", "Smith",
"20 Church Road, Cape Town", "0211234567", "email@address.com",
false);
Defendant d = new Defendant();
assertTrue(d.getId() == null);
}
public void testAddVehicle() {
Vehicle v = new Vehicle("CA123456", "Nissan", "White", false);
defendant.addVehicle(v);
assertTrue(v.equals(defendant.getVehicles().get(0)));
}
public void testAddVehicles() {
Vehicle[] v = new Vehicle[3];
for (int i = 0; i < v.length; i++) {
v[i] = new Vehicle("CA123456", "Nissan", "White", false);
}
defendant.addVehicles(v);
assertTrue(defendant.getVehicles().size() == v.length);
Vehicle vehicle = new Vehicle("CA123456", "Nissan", "White", false);
assertTrue(vehicle.equals(defendant.getVehicles().get(0)));
}
public void testIsSecondOffence() {
assertFalse(defendant.isSecondOffence());
}
public void testSetSecondOffence() {
defendant.setSecondOffence(true);
assertTrue(defendant.isSecondOffence());
}
public void testSetVehicles() {
List<Vehicle> vehicles = new ArrayList<>();
Vehicle v = new Vehicle("CA123456", "Nissan", "White", false);
vehicles.add(v);
vehicles.add(v);
defendant.setVehicles(vehicles);
assertTrue(vehicles.equals(defendant.getVehicles()));
}
public void testEquals_Null() {
assertFalse(defendant.equals(null));
}
public void testEquals_Class() {
assertFalse(defendant.equals("testDefendant"));
}
public void testEquals() {
Defendant testDefendant = new Defendant(1, "0002225094081", "John", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com", false);
Defendant anotherDefendant = new Defendant(2, "0273822728339", "John", "Smith", "20 Church Road, Cape Town", "0211234567", "email@address.com", false);
assertTrue(defendant.equals(testDefendant));
assertFalse(defendant.equals(anotherDefendant));
}
public void testToString() {
assertTrue("John Smith".equals(defendant.toString()));
}
}