2023-08-22 19:49:54 +02:00

29 lines
960 B
Java

package com.baeldung.shallowdeepcopy;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
class ShallowDeepCopyUnitTest {
@Test
public void givenAnObjectAndADependency_whenShallowClonedAndDepencyChanges_ThenDepencyHasNewValue() throws Exception {
Dependency dependency = new Dependency(13);
Main main = new Main(dependency);
Main shallowClone = (Main) main.clone();
dependency.setValue(17);
assertEquals(17, shallowClone.getDependency()
.getValue());
}
@Test
public void givenAnObjectAndADependency_whenDeepClonedAndDepencyChanges_ThenDepencyKeepsOldValue() throws Exception {
Dependency dependency = new Dependency(13);
Main main = new Main(dependency);
Main deepClone = (Main) main.deepClone();
dependency.setValue(17);
assertEquals(13, deepClone.getDependency()
.getValue());
}
}