@@ -25,47 +25,47 @@ class CloningObjectUnitTest {
25
25
@Test
26
26
fun `when using secondary constructor then proves that shallow copy` () {
27
27
val clonedPerson = Person (person)
28
+ assertThat(clonedPerson).isNotSameAs(person)
28
29
29
30
person.address.city = " Surabaya"
30
31
person.address.street = " Jln. Ahmad Yani"
31
32
32
- assertThat(clonedPerson).isNotSameAs(person)
33
33
assertThat(clonedPerson.address.city).isEqualTo(" Surabaya" )
34
34
assertThat(clonedPerson.address.street).isEqualTo(" Jln. Ahmad Yani" )
35
35
}
36
36
37
37
@Test
38
38
fun `when using copy then proves that shallow copy` () {
39
39
val clonedPerson = person.copy()
40
+ assertThat(clonedPerson).isNotSameAs(person)
40
41
41
42
person.address.city = " Jakarta"
42
43
person.address.street = " Jln. Abdul Muis"
43
44
44
- assertThat(clonedPerson).isNotSameAs(person)
45
45
assertThat(clonedPerson.address.city).isEqualTo(" Jakarta" )
46
46
assertThat(clonedPerson.address.street).isEqualTo(" Jln. Abdul Muis" )
47
47
}
48
48
49
49
@Test
50
50
fun `when using clone then proves that shallow copy` () {
51
51
val clonedPerson = person.clone()
52
+ assertThat(clonedPerson).isNotSameAs(person)
52
53
53
54
person.address.city = " Palembang"
54
55
person.address.street = " Jln. Abi Hasan"
55
56
56
- assertThat(clonedPerson).isNotSameAs(person)
57
57
assertThat(clonedPerson.address.city).isEqualTo(" Palembang" )
58
58
assertThat(clonedPerson.address.street).isEqualTo(" Jln. Abi Hasan" )
59
59
}
60
60
61
61
@Test
62
62
fun `when own function then proves that deep copy` () {
63
63
val clonedPerson = person.deepCopy()
64
+ assertThat(clonedPerson).isNotSameAs(person)
64
65
65
66
person.address.city = " Bandung"
66
67
person.address.street = " Jln. Siliwangi"
67
68
68
- assertThat(clonedPerson).isNotSameAs(person)
69
69
assertThat(clonedPerson.address.city).isNotEqualTo(" Bandung" )
70
70
assertThat(clonedPerson.address.street).isNotEqualTo(" Jln. Siliwangi" )
71
71
}
0 commit comments