Skip to content

Commit e66c057

Browse files
write tests in the unit tests project
1 parent 50680f2 commit e66c057

File tree

5 files changed

+186
-7
lines changed

5 files changed

+186
-7
lines changed

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,24 @@ public Employee(int id, String name, String department, double salary) {
1313
this.salary = salary;
1414
}
1515

16+
public String getDetails() {
17+
return "Employee's ID: "
18+
+ id
19+
+ " Name: "
20+
+ name
21+
+ " Department: "
22+
+ department
23+
+ " Salary: "
24+
+ salary;
25+
}
26+
27+
public void setDetails(int id, String name, String department, double salary) {
28+
this.id = id;
29+
this.name = name;
30+
this.department = department;
31+
this.salary = salary;
32+
}
33+
1634
// Getters and setters
1735
public int getId() {
1836
return id;

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@
33
public class Lesson15 {
44

55
public static void main(String[] args) {
6-
System.out.println("Hello, World!");
6+
System.out.println(getGreeting()); // This line is needed!
7+
8+
Employee emp = new Employee(1, "Rasheed Miller", "IT", 50000.0);
9+
System.out.println(emp.getDetails());
10+
}
11+
12+
public static String getGreeting() {
13+
return "Hello, World!";
14+
}
15+
16+
public static Employee createSampleEmployee() {
17+
return new Employee(1, "Rasheed Miller", "IT", 50000.0);
718
}
819
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.codedifferently.lesson15;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class EmployeeManagerTest {
8+
@Test
9+
public void testAddEmployee() {
10+
EmployeeManager employeeManager = new EmployeeManager();
11+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
12+
employeeManager.addEmployee(employee);
13+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(1);
14+
}
15+
16+
@Test
17+
public void testGetEmployee() {
18+
EmployeeManager employeeManager = new EmployeeManager();
19+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
20+
employeeManager.addEmployee(employee);
21+
Employee result = employeeManager.getEmployee(1);
22+
assertThat(result).isEqualTo(employee);
23+
}
24+
25+
@Test
26+
public void testUpdateEmployee() {
27+
EmployeeManager employeeManager = new EmployeeManager();
28+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
29+
employeeManager.addEmployee(employee);
30+
employee.setName("John Doe");
31+
employeeManager.updateEmployee(employee);
32+
Employee result = employeeManager.getEmployee(1);
33+
assertThat(result.getName()).isEqualTo("John Doe");
34+
}
35+
36+
@Test
37+
public void testRemoveEmployee() {
38+
EmployeeManager employeeManager = new EmployeeManager();
39+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
40+
employeeManager.addEmployee(employee);
41+
employeeManager.removeEmployee(1);
42+
assertThat(employeeManager.getEmployeeCount()).isEqualTo(0);
43+
}
44+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
package com.codedifferently.lesson15;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class EmployeeTest {
8+
@Test
9+
public void testGetId() {
10+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
11+
int id = employee.getId();
12+
assertThat(id).isEqualTo(1);
13+
}
14+
15+
@Test
16+
public void testSetId() {
17+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
18+
employee.setId(2);
19+
assertThat(employee.getId()).isEqualTo(2);
20+
}
21+
22+
@Test
23+
public void testGetName() {
24+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
25+
String name = employee.getName();
26+
assertThat(name).isEqualTo("Rasheed Miller");
27+
}
28+
29+
@Test
30+
public void testSetName() {
31+
Employee employee = new Employee(2, "Rasheed Miller", "IT", 50000);
32+
employee.setName("John Doe");
33+
assertThat(employee.getName()).isEqualTo("John Doe");
34+
}
35+
36+
@Test
37+
public void testGetDepartment() {
38+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
39+
String department = employee.getDepartment();
40+
assertThat(department).isEqualTo("IT");
41+
}
42+
43+
@Test
44+
public void testSetDepartment() {
45+
Employee employee = new Employee(2, "Rasheed Miller", "IT", 50000);
46+
employee.setDepartment("HR");
47+
assertThat(employee.getDepartment()).isEqualTo("HR");
48+
}
49+
50+
@Test
51+
public void testGetSalary() {
52+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
53+
double salary = employee.getSalary();
54+
assertThat(salary).isEqualTo(50000);
55+
}
56+
57+
@Test
58+
public void testSetSalary() {
59+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
60+
employee.setSalary(50000);
61+
assertThat(employee.getSalary()).isEqualTo(50000);
62+
}
63+
64+
@Test
65+
public void testGetDetails() {
66+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
67+
String details = employee.getDetails();
68+
assertThat(details)
69+
.isEqualTo("Employee's ID: 1 Name: Rasheed Miller Department: IT Salary: 50000.0");
70+
}
71+
72+
@Test
73+
public void testSetDetails() {
74+
Employee employee = new Employee(1, "Rasheed Miller", "IT", 50000);
75+
employee.setDetails(2, "John Doe", "HR", 50000);
76+
String result = employee.getDetails();
77+
String expected = "Employee's ID: 2 Name: John Doe Department: HR Salary: 50000.0";
78+
assertThat(result).isEqualTo(expected);
79+
}
80+
}

lesson_15/tdd/tdd_app/src/test/java/com/codedifferently/lesson15/Lesson15Test.java

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,44 @@
22

33
import static org.assertj.core.api.Assertions.assertThat;
44

5+
import java.io.ByteArrayOutputStream;
6+
import java.io.PrintStream;
57
import org.junit.jupiter.api.Test;
68

7-
class Lesson15Test {
9+
public class Lesson15Test {
810

911
@Test
10-
public void testLesson15() {
11-
assertThat(new Lesson15()).isNotNull();
12+
public void testMainPrintsGreetingAndEmployeeDetails() {
13+
// Capture console output
14+
PrintStream originalOut = System.out;
15+
ByteArrayOutputStream outContent = new ByteArrayOutputStream();
16+
System.setOut(new PrintStream(outContent));
17+
18+
// Execute main
19+
Lesson15.main(new String[] {});
20+
21+
// Restore System.out
22+
System.setOut(originalOut);
23+
24+
// Get output and verify
25+
String output = outContent.toString().trim();
26+
assertThat(output).contains("Hello, World!");
27+
assertThat(output)
28+
.contains("Employee's ID: 1 Name: Rasheed Miller Department: IT Salary: 50000.0");
29+
}
30+
31+
@Test
32+
public void testGetGreetingReturnsHelloWorld() {
33+
String greeting = Lesson15.getGreeting();
34+
assertThat(greeting).isEqualTo("Hello, World!");
1235
}
1336

1437
@Test
15-
public void testGetGreeting() {
16-
// Act
17-
Lesson15.main(null);
38+
public void testCreateSampleEmployee() {
39+
Employee emp = Lesson15.createSampleEmployee();
40+
assertThat(emp.getId()).isEqualTo(1);
41+
assertThat(emp.getName()).isEqualTo("Rasheed Miller");
42+
assertThat(emp.getDepartment()).isEqualTo("IT");
43+
assertThat(emp.getSalary()).isEqualTo(50000.0);
1844
}
1945
}

0 commit comments

Comments
 (0)