diff --git a/lesson_15/tdd/tdd_app/src/main/java/com/codedifferently/lesson15/Employee.java b/lesson_15/tdd/tdd_app/src/main/java/com/codedifferently/lesson15/Employee.java index 49aaabbd..1973591f 100644 --- a/lesson_15/tdd/tdd_app/src/main/java/com/codedifferently/lesson15/Employee.java +++ b/lesson_15/tdd/tdd_app/src/main/java/com/codedifferently/lesson15/Employee.java @@ -45,4 +45,8 @@ public double getSalary() { public void setSalary(double salary) { this.salary = salary; } + + public String getDetails() { + return "Employee: " + id + " " + name + " Department: " + department + " Salary: " + salary; + } } diff --git a/lesson_15/tdd/tdd_app/src/test/java/JosephCaballero/EmployeeManagerTest.java b/lesson_15/tdd/tdd_app/src/test/java/JosephCaballero/EmployeeManagerTest.java new file mode 100644 index 00000000..5008863a --- /dev/null +++ b/lesson_15/tdd/tdd_app/src/test/java/JosephCaballero/EmployeeManagerTest.java @@ -0,0 +1,71 @@ +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.codedifferently.lesson15.Employee; +import com.codedifferently.lesson15.EmployeeManager; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class EmployeeManagerTest { + EmployeeManager employeeManager; + Employee employee; + Employee employee2; + + @BeforeEach + void setUp() { + employeeManager = new EmployeeManager(); + } + + @Test + void testAddEmployee() { + employee = new Employee(999, "Joseph", "Boxing", 150000000.5); + employeeManager.addEmployee(employee); + assertThat(employeeManager.getEmployeeCount()).isEqualTo(1); + } + + @Test + void testGetEmployee() { + employee = new Employee(999, "Joseph", "Boxing", 150000000.5); + employeeManager.addEmployee(employee); + assertThat(employeeManager.getEmployee(999)).isEqualTo(employee); + } + + @Test + void testGetEmployee_failedDueToNull() throws RuntimeException { + assertThatThrownBy(() -> employeeManager.getEmployee(9)) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Employee does not in collection with id 9"); + } + + @Test + void testEmployeeUpdate() { + employee = new Employee(999, "Joseph", "Boxing", 150000000.5); + employeeManager.addEmployee(employee); + employee2 = new Employee(99, "Angelica", "CodeDifferently", 900.55); + employeeManager.addEmployee(employee2); + employeeManager.updateEmployee(employee2); + assertThat(employeeManager.getEmployeeCount()).isEqualTo(2); + } + + @Test + void testRemoveEmployee() throws RuntimeException { + employee = new Employee(999, "Joseph", "Boxing", 150000000.5); + employeeManager.addEmployee(employee); + employeeManager.removeEmployee(999); + assertThat(employeeManager.getEmployeeCount()).isEqualTo(0); + } + + @Test + void testRemoveEmployee_errorFromNullEmployeeId() throws RuntimeException { + assertThatThrownBy(() -> employeeManager.removeEmployee(9)) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Employee does not in collection with id 9"); + } + + @Test + void testGetEmployeeCount_whenOneEmployeeIsInTheMap() { + employee = new Employee(999, "Joseph", "Boxing", 150000000.5); + employeeManager.addEmployee(employee); + assertThat(employeeManager.getEmployeeCount()).isEqualTo(1); + } +} diff --git a/lesson_15/tdd/tdd_app/src/test/java/JosephCaballero/EmployeeTest.java b/lesson_15/tdd/tdd_app/src/test/java/JosephCaballero/EmployeeTest.java new file mode 100644 index 00000000..6ed0a595 --- /dev/null +++ b/lesson_15/tdd/tdd_app/src/test/java/JosephCaballero/EmployeeTest.java @@ -0,0 +1,65 @@ +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + +import com.codedifferently.lesson15.Employee; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class EmployeeTest { + + Employee employee; + + @BeforeEach + void setUp() { + employee = new Employee(9, "joseph", "Boxing", 1000000.5); + } + + @Test + void testGetId() { + assertThat(employee.getId()).isEqualTo(9); + } + + @Test + void testSetId_testingIfNumberOneWorks() { + employee.setId(1); + assertThat(employee.getId()).isEqualTo(1); + } + + @Test + void testGetName() { + assertThat(employee.getName()).isEqualTo("joseph"); + } + + @Test + void testSetName_testingIfPabloWorks() { + employee.setName("Pablo"); + assertThat(employee.getName()).isEqualTo("Pablo"); + } + + @Test + void testGetDepartment() { + assertThat(employee.getDepartment()).isEqualTo("Boxing"); + } + + @Test + void testSetDepartment_testingSettingDepartmentToHome() { + employee.setDepartment("Home"); + assertThat(employee.getDepartment()).isEqualTo("Home"); + } + + @Test + void testGetSalary() { + assertThat(employee.getSalary()).isEqualTo(1000000.5); + } + + @Test + void testSetSalary_salaryToTwoMillionAndFiveCents() { + employee.setSalary(2000000.5); + assertThat(employee.getSalary()).isEqualTo(2000000.5); + } + + @Test + void testGetDetails_testsIfWeGetSpecificDetails() { + assertThat(employee.getDetails()) + .isEqualTo("Employee: 9 joseph Department: Boxing Salary: 1000000.5"); + } +}