BAEL-3475 - Add code for Lombok Accessors (#8145)

* BAEL-3475 - Add code for Lombok Accessors

* BAEL-3475 - Updated lombok.version to latest

* BAEL-3475 - Rename Test to UnitTest
This commit is contained in:
Roger 2019-11-07 05:46:02 +10:00 committed by maibin
parent 50ef45d24f
commit e910017c43
9 changed files with 186 additions and 1 deletions

View File

@ -76,7 +76,7 @@
<properties>
<!-- lombok: https://projectlombok.org/changelog.html -->
<lombok.version>1.18.4</lombok.version>
<lombok.version>1.18.10</lombok.version>
<!-- various -->
<hibernate-jpa-2.1-api.version>1.0.0.Final</hibernate-jpa-2.1-api.version>
<!-- delombok maven plugin -->

View File

@ -0,0 +1,24 @@
package com.baeldung.lombok.accessors.model;
import java.math.BigDecimal;
public class BasicAccount {
String name;
BigDecimal balance;
public BigDecimal getBalance() {
return this.balance;
}
public void setBalance(BigDecimal newBalance) {
this.balance = newBalance;
}
public String getName() {
return this.name;
}
public void setName(String accountName) {
this.name = accountName;
}
}

View File

@ -0,0 +1,15 @@
package com.baeldung.lombok.accessors.model;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Accessors(chain = true)
@Getter
@Setter
public class ChainedAccount {
String name;
BigDecimal balance;
}

View File

@ -0,0 +1,15 @@
package com.baeldung.lombok.accessors.model;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Accessors(fluent = true, chain = true)
@Getter
@Setter
public class ChainedFluentAccount {
String name;
BigDecimal balance;
}

View File

@ -0,0 +1,15 @@
package com.baeldung.lombok.accessors.model;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Accessors(fluent = true, chain = false)
@Getter
@Setter
public class FluentAccount {
String name;
BigDecimal balance;
}

View File

@ -0,0 +1,16 @@
package com.baeldung.lombok.accessors.model;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Accessors(prefix = {"s", "bd"})
@Getter
@Setter
public class PrefixedAccount {
String sName;
BigDecimal bdBalance;
}

View File

@ -0,0 +1,15 @@
package com.baeldung.lombok.accessors.model;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Accessors(prefix = {"s", "bd"}, fluent = true)
@Getter
@Setter
public class PrefixedFluentAccount {
String sName;
BigDecimal bdBalance;
}

View File

@ -0,0 +1,13 @@
package com.baeldung.lombok.accessors.model;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
@Getter
@Setter
public class StandardAccount {
String name;
BigDecimal balance;
}

View File

@ -0,0 +1,72 @@
package com.baeldung.lombok.accessors;
import com.baeldung.lombok.accessors.model.*;
import org.junit.Test;
import java.math.BigDecimal;
import static org.junit.Assert.assertEquals;
public class AccessorsUnitTest {
@Test
public void givenBasicAccount_thenUseBasicAccessors() {
BasicAccount account = new BasicAccount();
account.setBalance(BigDecimal.TEN);
account.setName("Basic Accessors");
assertEquals(BigDecimal.TEN, account.getBalance());
assertEquals("Basic Accessors", account.getName());
}
@Test
public void givenFluentAccount_thenUseFluentAccessors() {
FluentAccount account = new FluentAccount();
account.name("Fluent Account");
account.balance(BigDecimal.TEN);
assertEquals(BigDecimal.TEN, account.balance());
assertEquals("Fluent Account", account.name());
}
@Test
public void givenChainedAccount_thenUseChainedAccessors() {
ChainedAccount account = new ChainedAccount();
account.setName("Chained Account").setBalance(BigDecimal.TEN);
assertEquals(BigDecimal.TEN, account.getBalance());
assertEquals("Chained Account", account.getName());
}
@Test
public void givenChainedFluentAccount_thenUseChainedFluentAccessors() {
ChainedFluentAccount account = new ChainedFluentAccount()
.name("Fluent Account")
.balance(BigDecimal.TEN);
assertEquals(BigDecimal.TEN, account.balance());
assertEquals("Fluent Account", account.name());
}
@Test
public void givenPrefixedAccount_thenRemovePrefixFromAccessors() {
PrefixedAccount account = new PrefixedAccount();
account.setName("Prefixed Fields");
account.setBalance(BigDecimal.TEN);
assertEquals(BigDecimal.TEN, account.getBalance());
assertEquals("Prefixed Fields", account.getName());
}
@Test
public void givenPrefixedFluentAccount_thenRemovePrefixFromAccessors() {
PrefixedFluentAccount account = new PrefixedFluentAccount();
account
.name("Prefixed Fluent Fields")
.balance(BigDecimal.TEN);
assertEquals(BigDecimal.TEN, account.balance());
assertEquals("Prefixed Fluent Fields", account.name());
}
}