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 49aaabbd7..f79a34e2f 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,15 @@ public double getSalary() { public void setSalary(double salary) { this.salary = salary; } + + public String getDetails() { + return "Employee ID " + + this.id + + ", Name " + + this.getName() + + ", Department " + + this.getDepartment() + + ", Salary " + + this.getSalary(); + } } diff --git a/lesson_15/tdd/tdd_app/src/test/java/com/codedifferently/Employee/EmployeeTest.java b/lesson_15/tdd/tdd_app/src/test/java/com/codedifferently/Employee/EmployeeTest.java new file mode 100644 index 000000000..3319057b7 --- /dev/null +++ b/lesson_15/tdd/tdd_app/src/test/java/com/codedifferently/Employee/EmployeeTest.java @@ -0,0 +1,61 @@ +package com.codedifferently.Employee; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +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(1545, "Ray Allen", "Lavatory", 50000.0); + } + + @Test + void testId() { + // Act + employee.setId(1545); + int id = employee.getId(); + // Assert + assertEquals(1545, id); + } + + @Test + // Act + void testName() { + employee.setName("Ray Allen"); + String name = employee.getName(); + // Assert + assertEquals("Ray Allen", name); + } + + @Test + // Act + void testDepartment() { + employee.setDepartment("Lavatory"); + String department = employee.getDepartment(); + // Assert + assertEquals("Lavatory", department); + } + + @Test + // Act + void testSalary() { + employee.setSalary(50000.0); + Double salary = employee.getSalary(); + // Assert + assertEquals(50000.0, salary); + } + + @Test + void getDetails() { + + String expected = "Employee ID 1545, Name Ray Allen, Department Lavatory, Salary 50000.0"; + String actual = employee.getDetails(); + + assertEquals(expected, actual); + } +} diff --git a/lesson_15/tdd/tdd_app/src/test/java/com/codedifferently/EmployeeManager/EmployeeManagerTest.java b/lesson_15/tdd/tdd_app/src/test/java/com/codedifferently/EmployeeManager/EmployeeManagerTest.java new file mode 100644 index 000000000..43ca12749 --- /dev/null +++ b/lesson_15/tdd/tdd_app/src/test/java/com/codedifferently/EmployeeManager/EmployeeManagerTest.java @@ -0,0 +1,51 @@ +package com.codedifferently.EmployeeManager; + +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; + +class EmployeeManagerTest { + EmployeeManager employeeManager; + Employee employee; + + @BeforeEach + void setUp() { + employeeManager = new EmployeeManager(); + employee = new Employee(1545, "Ray Allen", "Lavatory", 50000.0); + } + + @Test + void addEmployee() { + employeeManager.addEmployee(employee); + assertThat(employeeManager.getEmployee(1545)).isEqualTo(employee); + } + + @Test + void removeEmployee() { + employeeManager.addEmployee(employee); + employeeManager.removeEmployee(employee.getId()); + assertThat(employeeManager.getEmployeeCount()).isEqualTo(0); + } + + @Test + void updateEmployee() { + employeeManager.addEmployee(employee); + Employee updatedEmployee = new Employee(1545, "Ray Allen", "Baller", 1000000.0); + + employeeManager.updateEmployee(updatedEmployee); + + assertThat(employeeManager.getEmployee(employee.getId()).getDepartment()).isEqualTo("Baller"); + assertThat(employeeManager.getEmployee(employee.getId()).getSalary()).isEqualTo(1000000.0); + } + + @Test + void unknownEmployee() { + assertThatThrownBy(() -> employeeManager.getEmployee(9999)) + .isInstanceOf(IllegalArgumentException.class) + .hasMessageContaining("Employee does not in collection with id 9999"); + } +}