Skip to content

Commit 233fd7a

Browse files
committed
feat: Created unit tests for employee and manager classes
1 parent 43b0c16 commit 233fd7a

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 "ID: " + id + "\nName: " + name + "\nDepartment: " + department + "\nSalary: " + salary;
51+
}
4852
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package com.codedifferently.lesson15;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
5+
6+
import java.util.HashMap;
7+
import java.util.Map;
8+
import org.junit.jupiter.api.BeforeEach;
9+
import org.junit.jupiter.api.Test;
10+
11+
class EmployeeManagerTest {
12+
EmployeeManager employeeManager;
13+
private Map<Integer, Employee> employees;
14+
15+
@BeforeEach
16+
void setUp() {
17+
employees = new HashMap<>();
18+
employees.put(1, new Employee(1, "John", "Marketing", 20000.50));
19+
employees.put(2, new Employee(2, "Jane", "Accounting", 30000.70));
20+
employeeManager = new EmployeeManager();
21+
for (Map.Entry<Integer, Employee> entry : employees.entrySet()) {
22+
employeeManager.addEmployee(entry.getValue());
23+
}
24+
}
25+
26+
@Test
27+
public void testGetEmployee() {
28+
// Arange
29+
var id = 1;
30+
31+
// Act
32+
Employee result = employeeManager.getEmployee(id);
33+
34+
// Assert
35+
assertThat(result).isNotNull();
36+
assertThat(result.getName()).isEqualTo("John");
37+
}
38+
39+
@Test
40+
public void testUpdateEmployee() {
41+
// Arrange
42+
var id = 2;
43+
44+
// Act
45+
Employee employee = employeeManager.getEmployee(id); // use this for set test
46+
employee.setDepartment("Human Resources");
47+
employeeManager.updateEmployee(employee);
48+
Employee updatedEmployee = employeeManager.getEmployee(id);
49+
50+
// Assert
51+
assertThat(updatedEmployee).isNotNull();
52+
}
53+
54+
@Test
55+
public void testGetEmployeeCount() {
56+
// Assert
57+
assertThat(employeeManager.getEmployeeCount()).isNotNull();
58+
}
59+
60+
@Test
61+
public void testRemoveEmployee() {
62+
var id = 1;
63+
64+
int count = employeeManager.getEmployeeCount();
65+
employeeManager.removeEmployee(id);
66+
67+
assertThatThrownBy(() -> employeeManager.getEmployee(id))
68+
.isInstanceOf(IllegalArgumentException.class)
69+
.hasMessage("Employee does not in collection with id " + id);
70+
assertThat(employeeManager.getEmployeeCount()).isLessThan(count);
71+
}
72+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package com.codedifferently.lesson15;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import java.util.HashMap;
6+
import java.util.Map;
7+
import org.junit.jupiter.api.BeforeEach;
8+
import org.junit.jupiter.api.Test;
9+
10+
class EmployeeTest {
11+
EmployeeManager employeeManager;
12+
private Map<Integer, Employee> employees;
13+
14+
@BeforeEach
15+
void setUp() {
16+
employees = new HashMap<>();
17+
employees.put(1, new Employee(1, "John", "Marketing", 20000.50));
18+
employees.put(2, new Employee(2, "Jane", "Accounting", 30000.70));
19+
employeeManager = new EmployeeManager();
20+
for (Map.Entry<Integer, Employee> entry : employees.entrySet()) {
21+
employeeManager.addEmployee(entry.getValue());
22+
}
23+
}
24+
25+
@Test
26+
public void testGetSalary() {
27+
// Arrange
28+
var id = 1;
29+
30+
// Act
31+
Employee employee = employeeManager.getEmployee(id);
32+
33+
// Assert
34+
assertThat(employee.getSalary()).isNotNull();
35+
}
36+
37+
@Test
38+
public void testGetDepartment() {
39+
// Arrange
40+
var id = 1;
41+
42+
// Act
43+
Employee employee = employeeManager.getEmployee(id);
44+
45+
// Assert
46+
assertThat(employee.getDepartment()).isNotNull();
47+
}
48+
49+
@Test
50+
public void testGetDetails() {
51+
// Arrange
52+
var id = 1;
53+
54+
// Act
55+
Employee employee = employeeManager.getEmployee(id);
56+
57+
// Assert
58+
assertThat(employee.getDetails()).isNotNull();
59+
assertThat(employee.getName()).isEqualTo("John");
60+
assertThat(employee.getDepartment()).isEqualTo("Marketing");
61+
assertThat(employee.getSalary()).isEqualTo(20000.50);
62+
}
63+
}

0 commit comments

Comments
 (0)