Test Overview
This test uses the Builder pattern to create a User object with test data. It verifies that the User object is built correctly with the expected name and age.
This test uses the Builder pattern to create a User object with test data. It verifies that the User object is built correctly with the expected name and age.
import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; public class UserTest { static class User { private final String name; private final int age; private User(Builder builder) { this.name = builder.name; this.age = builder.age; } public String getName() { return name; } public int getAge() { return age; } public static class Builder { private String name; private int age; public Builder setName(String name) { this.name = name; return this; } public Builder setAge(int age) { this.age = age; return this; } public User build() { return new User(this); } } } @Test public void testUserBuilder() { User user = new User.Builder() .setName("Alice") .setAge(30) .build(); assertEquals("Alice", user.getName()); assertEquals(30, user.getAge()); } }
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts | JUnit test runner is ready | - | PASS |
| 2 | Creates User.Builder instance | Builder object with default null name and age 0 | - | PASS |
| 3 | Calls setName("Alice") on Builder | Builder object with name = "Alice", age = 0 | - | PASS |
| 4 | Calls setAge(30) on Builder | Builder object with name = "Alice", age = 30 | - | PASS |
| 5 | Calls build() to create User object | User object created with name = "Alice", age = 30 | - | PASS |
| 6 | Assert user.getName() equals "Alice" | User object with name = "Alice" | user.getName() == "Alice" | PASS |
| 7 | Assert user.getAge() equals 30 | User object with age = 30 | user.getAge() == 30 | PASS |
| 8 | Test ends successfully | Test passed | - | PASS |