refactor naming of test method
This commit is contained in:
@@ -2,13 +2,16 @@ package com.baeldung.java_shallow_deep_copy.data;
|
||||
|
||||
public class BankAccountDeep extends BankAccount {
|
||||
|
||||
|
||||
public BankAccountDeep(String name, String surname, Balance balance) {
|
||||
super(name, surname, balance);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() throws CloneNotSupportedException {
|
||||
return new BankAccountDeep(name, surname, (Balance) balance.clone());
|
||||
BankAccountDeep bankAccountDeep = (BankAccountDeep) super.clone();
|
||||
bankAccountDeep.setBalance((Balance) balance.clone());
|
||||
return bankAccountDeep;
|
||||
}
|
||||
|
||||
public BankAccountDeep(BankAccountDeep bankAccountDeep) {
|
||||
|
||||
@@ -1,41 +1,38 @@
|
||||
package com.baeldung.java_shallow_deep_copy.unit;
|
||||
|
||||
import com.baeldung.java_shallow_deep_copy.data.*;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import com.baeldung.java_shallow_deep_copy.data.Balance;
|
||||
import com.baeldung.java_shallow_deep_copy.data.BankAccountDeep;
|
||||
|
||||
public class DeepCopyTest {
|
||||
|
||||
private static final String NAME = "Hello";
|
||||
private static final String SURNAME = "World";
|
||||
|
||||
|
||||
@Test
|
||||
void whenIsADeepCopyDoneByCopyConstructor_thenNestedObjectShouldNotHaveSameReference() {
|
||||
void whenIsADeepCopyDoneByCopyConstructor_thenNestedObjectsAreNotTheSame() {
|
||||
Balance balance = new Balance(10000, "EUR");
|
||||
BankAccountDeep bankAccount = new BankAccountDeep(NAME, SURNAME, balance);
|
||||
BankAccountDeep bankAccount = new BankAccountDeep("Hello", "World", balance);
|
||||
BankAccountDeep deepCopy = new BankAccountDeep(bankAccount);
|
||||
assertNotEquals(bankAccount.getBalance(), deepCopy.getBalance());
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenIsADeepCopyDoneByCopyConstructor_thenCopyValueShouldNotChange() {
|
||||
void whenIsADeepCopyDoneByCopyConstructor_thenCopyShouldNotChange() {
|
||||
Balance balance = new Balance(10000, "EUR");
|
||||
BankAccountDeep bankAccount = new BankAccountDeep(NAME, SURNAME, balance);
|
||||
BankAccountDeep bankAccount = new BankAccountDeep("Hello", "World", balance);
|
||||
BankAccountDeep deepCopy = new BankAccountDeep(bankAccount);
|
||||
balance.setAmount(0);
|
||||
assertNotEquals(bankAccount.getBalance()
|
||||
.getAmount(), deepCopy.getBalance()
|
||||
.getAmount());
|
||||
bankAccount.getBalance().setAmount(0);
|
||||
float deepCopyAmount = deepCopy.getBalance().getAmount();
|
||||
assertNotEquals(0, deepCopyAmount);
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenIsADeepCopyDoneByCloneMethod_thenNestedObjectShouldNotHaveSameReference() throws CloneNotSupportedException {
|
||||
String name = "Hello";
|
||||
String surname = "World";
|
||||
void whenIsADeepCopyDoneByCloneMethod_thenNestedObjectsAreNotTheSame() throws CloneNotSupportedException {
|
||||
Balance balance = new Balance(10000, "EUR");
|
||||
BankAccountDeep bankAccount = new BankAccountDeep(NAME, SURNAME, balance);
|
||||
BankAccountDeep bankAccount = new BankAccountDeep("Hello", "World", balance);
|
||||
BankAccountDeep deepCopy = (BankAccountDeep) bankAccount.clone();
|
||||
assertNotEquals(bankAccount.getBalance(), deepCopy.getBalance());
|
||||
}
|
||||
@@ -44,10 +41,11 @@ public class DeepCopyTest {
|
||||
void whenIsADeepCopyDoneByCloneMethod_thenCopyValueShouldNotChange() throws CloneNotSupportedException {
|
||||
|
||||
Balance balance = new Balance(10000, "EUR");
|
||||
BankAccountDeep bankAccount = new BankAccountDeep(NAME, SURNAME, balance);
|
||||
BankAccountDeep bankAccount = new BankAccountDeep("Hello", "World", balance);
|
||||
BankAccountDeep deepCopy = (BankAccountDeep) bankAccount.clone();
|
||||
balance.setAmount(0);
|
||||
assertNotEquals(balance.getAmount(), deepCopy.getBalance()
|
||||
.getAmount());
|
||||
bankAccount.getBalance().setAmount(0);
|
||||
float deepCopyAmount = deepCopy.getBalance().getAmount();
|
||||
assertNotEquals(0, deepCopyAmount);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -28,16 +28,13 @@ public class ShallowCopyTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenIsAShallowCopyDoneByCopyConstructor_thenCopyValueShouldChange() throws CloneNotSupportedException {
|
||||
void whenIsAShallowCopyDoneByCopyConstructor_thenCopyShouldChange() throws CloneNotSupportedException {
|
||||
Balance balance = new Balance(10000, "EUR");
|
||||
BankAccountShallow bankAccount = new BankAccountShallow("Hello", "World", balance);
|
||||
BankAccountShallow shallowCopy = new BankAccountShallow(bankAccount);
|
||||
float newBalance = 0;
|
||||
balance.setAmount(newBalance);
|
||||
assertEquals(newBalance, bankAccount.getBalance()
|
||||
.getAmount());
|
||||
assertEquals(newBalance, shallowCopy.getBalance()
|
||||
.getAmount());
|
||||
bankAccount.getBalance().setAmount(0);
|
||||
float shallowCopyAmount = shallowCopy.getBalance().getAmount();
|
||||
assertEquals(0, shallowCopyAmount);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -49,14 +46,13 @@ public class ShallowCopyTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenIsAShallowCopyDoneByCloneMethod__thenCopyValueShouldChange() throws CloneNotSupportedException {
|
||||
void whenIsAShallowCopyDoneByCloneMethod__thenCopyShouldChange() throws CloneNotSupportedException {
|
||||
Balance balance = new Balance(10000, "EUR");
|
||||
BankAccountShallow bankAccount = new BankAccountShallow("Hello", "World", balance);
|
||||
BankAccountShallow shallowCopy = (BankAccountShallow) bankAccount.clone();
|
||||
float newBalance = 0;
|
||||
balance.setAmount(newBalance);
|
||||
assertEquals(newBalance, shallowCopy.getBalance()
|
||||
.getAmount());
|
||||
bankAccount.getBalance().setAmount(0);
|
||||
float shallowCopyAmount = shallowCopy.getBalance().getAmount();
|
||||
assertEquals(0, shallowCopyAmount);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user