Skip to content

Commit 0414fba

Browse files
committed
feat: adds new Employee Test
1 parent 03d2a45 commit 0414fba

File tree

3 files changed

+139
-0
lines changed

3 files changed

+139
-0
lines changed

lesson_15/tdd/tdd_app/src/main/java/com/codedifferently/lesson15/Employee.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,8 @@ public double getSalary() {
4545
public void setSalary(double salary) {
4646
this.salary = salary;
4747
}
48+
49+
public String getDetails() {
50+
return "Employee: " + id + " " + name + " Department: " + department + " Salary: " + salary;
51+
}
4852
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
import static org.assertj.core.api.Assertions.assertThat;
2+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
3+
4+
import com.codedifferently.lesson15.Employee;
5+
import com.codedifferently.lesson15.EmployeeManager;
6+
import org.junit.jupiter.api.BeforeEach;
7+
import org.junit.jupiter.api.Test;
8+
9+
public class EmployeeManagerTest {
10+
EmployeeManager employeeManager;
11+
Employee employee;
12+
Employee employee2;
13+
14+
@BeforeEach
15+
void setUp() {
16+
employeeManager = new EmployeeManager();
17+
}
18+
19+
@Test
20+
void testAddEmployee() {
21+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
22+
employeeManager.addEmployee(employee);
23+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(1);
24+
}
25+
26+
@Test
27+
void testGetEmployee() {
28+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
29+
employeeManager.addEmployee(employee);
30+
assertThat(employeeManager.getEmployee(999)).isEqualTo(employee);
31+
}
32+
33+
@Test
34+
void testGetEmployee_failedDueToNull() throws RuntimeException {
35+
assertThatThrownBy(() -> employeeManager.getEmployee(9))
36+
.isInstanceOf(IllegalArgumentException.class)
37+
.hasMessage("Employee does not in collection with id 9");
38+
}
39+
40+
@Test
41+
void testEmployeeUpdate() {
42+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
43+
employeeManager.addEmployee(employee);
44+
employee2 = new Employee(99, "Angelica", "CodeDifferently", 900.55);
45+
employeeManager.addEmployee(employee2);
46+
employeeManager.updateEmployee(employee2);
47+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(2);
48+
}
49+
50+
@Test
51+
void testRemoveEmployee() throws RuntimeException {
52+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
53+
employeeManager.addEmployee(employee);
54+
employeeManager.removeEmployee(999);
55+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(0);
56+
}
57+
58+
@Test
59+
void testRemoveEmployee_errorFromNullEmployeeId() throws RuntimeException {
60+
assertThatThrownBy(() -> employeeManager.removeEmployee(9))
61+
.isInstanceOf(IllegalArgumentException.class)
62+
.hasMessage("Employee does not in collection with id 9");
63+
}
64+
65+
@Test
66+
void testGetEmployeeCount_whenOneEmployeeIsInTheMap() {
67+
employee = new Employee(999, "Joseph", "Boxing", 150000000.5);
68+
employeeManager.addEmployee(employee);
69+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(1);
70+
}
71+
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
2+
3+
import org.junit.jupiter.api.BeforeEach;
4+
import org.junit.jupiter.api.Test;
5+
6+
class EmployeeTest {
7+
8+
Employee employee;
9+
10+
@BeforeEach
11+
void setUp() {
12+
employee = new Employee(9, "joseph", "Boxing", 1000000.5);
13+
}
14+
15+
@Test
16+
void testGetId() {
17+
assertThat(employee.getId()).isEqualTo(9);
18+
}
19+
20+
@Test
21+
void testSetId_testingIfNumberOneWorks() {
22+
employee.setId(1);
23+
assertThat(employee.getId()).isEqualTo(1);
24+
}
25+
26+
@Test
27+
void testGetName() {
28+
assertThat(employee.getName()).isEqualTo("joseph");
29+
}
30+
31+
@Test
32+
void testSetName_testingIfPabloWorks() {
33+
employee.setName("Pablo");
34+
assertThat(employee.getName()).isEqualTo("Pablo");
35+
}
36+
37+
@Test
38+
void testGetDepartment() {
39+
assertThat(employee.getDepartment()).isEqualTo("Boxing");
40+
}
41+
42+
@Test
43+
void testSetDepartment_testingSettingDepartmentToHome() {
44+
employee.setDepartment("Home");
45+
assertThat(employee.getDepartment()).isEqualTo("Home");
46+
}
47+
48+
@Test
49+
void testGetSalary() {
50+
assertThat(employee.getSalary()).isEqualTo(1000000.5);
51+
}
52+
53+
@Test
54+
void testSetSalary_salaryToTwoMillionAndFiveCents() {
55+
employee.setSalary(2000000.5);
56+
assertThat(employee.getSalary()).isEqualTo(2000000.5);
57+
}
58+
59+
@Test
60+
void testGetDetails_testsIfWeGetSpecificDetails() {
61+
assertThat(employee.getDetails())
62+
.isEqualTo("Employee: 9 joseph Department: Boxing Salary: 1000000.5");
63+
}
64+
}

0 commit comments

Comments
 (0)