BAEL-2990 Automatic generation of the Builder pattern with FreeBuilder

This commit is contained in:
Chirag Dewan 2019-07-28 16:05:17 +05:30
parent 97e38d338f
commit 6a29eab820

View File

@ -27,7 +27,16 @@ public class EmployeeBuilderUnitTest {
Employee.Builder builder = new Employee.Builder();
Employee employee = builder.setName("baeldung").setAge(10).setDesignation("author").setEmail("abc@xyz.com").setSupervisorName("Admin").setPhoneNumber(4445566).setPermanent(true).setRole("developer").setAddress(address).build();
Employee employee = builder.setName("baeldung")
.setAge(10)
.setDesignation("author")
.setEmail("abc@xyz.com")
.setSupervisorName("Admin")
.setPhoneNumber(4445566)
.setPermanent(true)
.setRole("developer")
.setAddress(address)
.build();
// then
assertTrue(employee.getAddress().getCity().equalsIgnoreCase(CITY_NAME));
@ -71,8 +80,17 @@ public class EmployeeBuilderUnitTest {
Employee.Builder builder = new Employee.Builder();
Employee employee = builder.setName("baeldung").setAge(10).setDesignation("author").setEmail("abc@xyz.com").setSupervisorName("Admin").setPhoneNumber(4445566).setNullablePermanent(null).setDateOfJoining(Optional.empty()).setRole("developer")
.setAddress(address).build();
Employee employee = builder.setName("baeldung")
.setAge(10)
.setDesignation("author")
.setEmail("abc@xyz.com")
.setSupervisorName("Admin")
.setPhoneNumber(4445566)
.setNullablePermanent(null)
.setDateOfJoining(Optional.empty())
.setRole("developer")
.setAddress(address)
.build();
// then
assertFalse(employee.getDateOfJoining().isPresent());
@ -88,8 +106,17 @@ public class EmployeeBuilderUnitTest {
Employee.Builder builder = new Employee.Builder();
Employee employee = builder.setName("baeldung").setAge(10).setDesignation("author").setEmail("abc@xyz.com").setSupervisorName("Admin").setPhoneNumber(4445566).setNullablePermanent(null).setDateOfJoining(Optional.empty()).setRole("developer")
.setAddress(address).build();
Employee employee = builder.setName("baeldung")
.setAge(10)
.setDesignation("author")
.setEmail("abc@xyz.com")
.setSupervisorName("Admin")
.setPhoneNumber(4445566)
.setNullablePermanent(null)
.setDateOfJoining(Optional.empty())
.setRole("developer")
.setAddress(address)
.build();
// then
assertNull(employee.getCurrentProject());
@ -105,8 +132,19 @@ public class EmployeeBuilderUnitTest {
Employee.Builder builder = new Employee.Builder();
Employee employee = builder.setName("baeldung").setAge(10).setDesignation("author").setEmail("abc@xyz.com").setSupervisorName("Admin").setPhoneNumber(4445566).setNullablePermanent(null).setDateOfJoining(Optional.empty()).setRole("developer")
.addAccessTokens(1221819L).addAccessTokens(1223441L, 134567L).setAddress(address).build();
Employee employee = builder.setName("baeldung")
.setAge(10)
.setDesignation("author")
.setEmail("abc@xyz.com")
.setSupervisorName("Admin")
.setPhoneNumber(4445566)
.setNullablePermanent(null)
.setDateOfJoining(Optional.empty())
.setRole("developer")
.addAccessTokens(1221819L)
.addAccessTokens(1223441L, 134567L)
.setAddress(address)
.build();
// then
assertTrue(employee.getAccessTokens().size() == 3);
@ -122,8 +160,20 @@ public class EmployeeBuilderUnitTest {
Employee.Builder builder = new Employee.Builder();
Employee employee = builder.setName("baeldung").setAge(10).setDesignation("author").setEmail("abc@xyz.com").setSupervisorName("Admin").setPhoneNumber(4445566).setNullablePermanent(null).setDateOfJoining(Optional.empty()).setRole("developer")
.addAccessTokens(1221819L).addAccessTokens(1223441L, 134567L).putAssetsSerialIdMapping("Laptop", 12345L).setAddress(address).build();
Employee employee = builder.setName("baeldung")
.setAge(10)
.setDesignation("author")
.setEmail("abc@xyz.com")
.setSupervisorName("Admin")
.setPhoneNumber(4445566)
.setNullablePermanent(null)
.setDateOfJoining(Optional.empty())
.setRole("developer")
.addAccessTokens(1221819L)
.addAccessTokens(1223441L, 134567L)
.putAssetsSerialIdMapping("Laptop", 12345L)
.setAddress(address)
.build();
// then
assertTrue(employee.getAssetsSerialIdMapping().size() == 1);
@ -139,8 +189,21 @@ public class EmployeeBuilderUnitTest {
Employee.Builder builder = new Employee.Builder();
Employee employee = builder.setName("baeldung").setAge(10).setDesignation("author").setEmail("abc@xyz.com").setSupervisorName("Admin").setPhoneNumber(4445566).setNullablePermanent(null).setDateOfJoining(Optional.empty()).setRole("developer")
.addAccessTokens(1221819L).addAccessTokens(1223441L, 134567L).putAssetsSerialIdMapping("Laptop", 12345L).setAddress(address).mutateAddress(a -> a.setPinCode(112200)).build();
Employee employee = builder.setName("baeldung")
.setAge(10)
.setDesignation("author")
.setEmail("abc@xyz.com")
.setSupervisorName("Admin")
.setPhoneNumber(4445566)
.setNullablePermanent(null)
.setDateOfJoining(Optional.empty())
.setRole("developer")
.addAccessTokens(1221819L)
.addAccessTokens(1223441L, 134567L)
.putAssetsSerialIdMapping("Laptop", 12345L)
.setAddress(address)
.mutateAddress(a -> a.setPinCode(112200))
.build();
// then
assertTrue(employee.getAssetsSerialIdMapping().size() == 1);