Skip to content

Commit 3d1206a

Browse files
committed
deep copy using clone
1 parent 822c174 commit 3d1206a

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

core-kotlin-modules/core-kotlin-10/src/test/kotlin/com/baeldung/cloningobject/CloningObjectUnitTest.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package com.baeldung.cloningobject
33
import org.assertj.core.api.Assertions.assertThat
44
import org.junit.jupiter.api.Test
55

6-
data class Address(var street: String, var city: String)
6+
data class Address(var street: String, var city: String) : Cloneable {
7+
public override fun clone(): Address = super.clone() as Address
8+
}
79

810
data class Person(var name: String, var address: Address) : Cloneable {
9-
public override fun clone(): Person {
10-
return Person(name, address)
11-
}
11+
public override fun clone() = Person(name, this.address.clone())
1212

1313
fun deepCopy(name: String = this.name, address: Address = this.address.copy()): Person {
1414
return Person(name, address)
@@ -73,10 +73,10 @@ class CloningObjectUnitTest {
7373
person.address.street = "Jln. Abi Hasan"
7474

7575
assertThat(clonedPerson.address.city)
76-
.isEqualTo("Palembang")
76+
.isNotEqualTo("Palembang")
7777

7878
assertThat(clonedPerson.address.street)
79-
.isEqualTo("Jln. Abi Hasan")
79+
.isNotEqualTo("Jln. Abi Hasan")
8080
}
8181

8282
@Test

0 commit comments

Comments
 (0)