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 class BankAccountDeep extends BankAccount {
|
||||||
|
|
||||||
|
|
||||||
public BankAccountDeep(String name, String surname, Balance balance) {
|
public BankAccountDeep(String name, String surname, Balance balance) {
|
||||||
super(name, surname, balance);
|
super(name, surname, balance);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object clone() throws CloneNotSupportedException {
|
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) {
|
public BankAccountDeep(BankAccountDeep bankAccountDeep) {
|
||||||
|
|||||||
@@ -1,41 +1,38 @@
|
|||||||
package com.baeldung.java_shallow_deep_copy.unit;
|
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 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 {
|
public class DeepCopyTest {
|
||||||
|
|
||||||
private static final String NAME = "Hello";
|
|
||||||
private static final String SURNAME = "World";
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void whenIsADeepCopyDoneByCopyConstructor_thenNestedObjectShouldNotHaveSameReference() {
|
void whenIsADeepCopyDoneByCopyConstructor_thenNestedObjectsAreNotTheSame() {
|
||||||
Balance balance = new Balance(10000, "EUR");
|
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);
|
BankAccountDeep deepCopy = new BankAccountDeep(bankAccount);
|
||||||
assertNotEquals(bankAccount.getBalance(), deepCopy.getBalance());
|
assertNotEquals(bankAccount.getBalance(), deepCopy.getBalance());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void whenIsADeepCopyDoneByCopyConstructor_thenCopyValueShouldNotChange() {
|
void whenIsADeepCopyDoneByCopyConstructor_thenCopyShouldNotChange() {
|
||||||
Balance balance = new Balance(10000, "EUR");
|
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);
|
BankAccountDeep deepCopy = new BankAccountDeep(bankAccount);
|
||||||
balance.setAmount(0);
|
bankAccount.getBalance().setAmount(0);
|
||||||
assertNotEquals(bankAccount.getBalance()
|
float deepCopyAmount = deepCopy.getBalance().getAmount();
|
||||||
.getAmount(), deepCopy.getBalance()
|
assertNotEquals(0, deepCopyAmount);
|
||||||
.getAmount());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void whenIsADeepCopyDoneByCloneMethod_thenNestedObjectShouldNotHaveSameReference() throws CloneNotSupportedException {
|
void whenIsADeepCopyDoneByCloneMethod_thenNestedObjectsAreNotTheSame() throws CloneNotSupportedException {
|
||||||
String name = "Hello";
|
|
||||||
String surname = "World";
|
|
||||||
Balance balance = new Balance(10000, "EUR");
|
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();
|
BankAccountDeep deepCopy = (BankAccountDeep) bankAccount.clone();
|
||||||
assertNotEquals(bankAccount.getBalance(), deepCopy.getBalance());
|
assertNotEquals(bankAccount.getBalance(), deepCopy.getBalance());
|
||||||
}
|
}
|
||||||
@@ -44,10 +41,11 @@ public class DeepCopyTest {
|
|||||||
void whenIsADeepCopyDoneByCloneMethod_thenCopyValueShouldNotChange() throws CloneNotSupportedException {
|
void whenIsADeepCopyDoneByCloneMethod_thenCopyValueShouldNotChange() throws CloneNotSupportedException {
|
||||||
|
|
||||||
Balance balance = new Balance(10000, "EUR");
|
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();
|
BankAccountDeep deepCopy = (BankAccountDeep) bankAccount.clone();
|
||||||
balance.setAmount(0);
|
bankAccount.getBalance().setAmount(0);
|
||||||
assertNotEquals(balance.getAmount(), deepCopy.getBalance()
|
float deepCopyAmount = deepCopy.getBalance().getAmount();
|
||||||
.getAmount());
|
assertNotEquals(0, deepCopyAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,16 +28,13 @@ public class ShallowCopyTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void whenIsAShallowCopyDoneByCopyConstructor_thenCopyValueShouldChange() throws CloneNotSupportedException {
|
void whenIsAShallowCopyDoneByCopyConstructor_thenCopyShouldChange() throws CloneNotSupportedException {
|
||||||
Balance balance = new Balance(10000, "EUR");
|
Balance balance = new Balance(10000, "EUR");
|
||||||
BankAccountShallow bankAccount = new BankAccountShallow("Hello", "World", balance);
|
BankAccountShallow bankAccount = new BankAccountShallow("Hello", "World", balance);
|
||||||
BankAccountShallow shallowCopy = new BankAccountShallow(bankAccount);
|
BankAccountShallow shallowCopy = new BankAccountShallow(bankAccount);
|
||||||
float newBalance = 0;
|
bankAccount.getBalance().setAmount(0);
|
||||||
balance.setAmount(newBalance);
|
float shallowCopyAmount = shallowCopy.getBalance().getAmount();
|
||||||
assertEquals(newBalance, bankAccount.getBalance()
|
assertEquals(0, shallowCopyAmount);
|
||||||
.getAmount());
|
|
||||||
assertEquals(newBalance, shallowCopy.getBalance()
|
|
||||||
.getAmount());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -49,14 +46,13 @@ public class ShallowCopyTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void whenIsAShallowCopyDoneByCloneMethod__thenCopyValueShouldChange() throws CloneNotSupportedException {
|
void whenIsAShallowCopyDoneByCloneMethod__thenCopyShouldChange() throws CloneNotSupportedException {
|
||||||
Balance balance = new Balance(10000, "EUR");
|
Balance balance = new Balance(10000, "EUR");
|
||||||
BankAccountShallow bankAccount = new BankAccountShallow("Hello", "World", balance);
|
BankAccountShallow bankAccount = new BankAccountShallow("Hello", "World", balance);
|
||||||
BankAccountShallow shallowCopy = (BankAccountShallow) bankAccount.clone();
|
BankAccountShallow shallowCopy = (BankAccountShallow) bankAccount.clone();
|
||||||
float newBalance = 0;
|
bankAccount.getBalance().setAmount(0);
|
||||||
balance.setAmount(newBalance);
|
float shallowCopyAmount = shallowCopy.getBalance().getAmount();
|
||||||
assertEquals(newBalance, shallowCopy.getBalance()
|
assertEquals(0, shallowCopyAmount);
|
||||||
.getAmount());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user