@Test fun testShallowCopyOfDataClass_onChangeRecord_copiedRecordChangedToo() { val subj = TestItemDataClass("Jane", 12) val deepCopySubj = subj.copy() subj.name = "Bear" assertEquals("Bear", subj.name) assertEquals("Bear", deepCopySubj.name) // TODO it behaves like deep copy } private data class TestItemDataClass ( var name: String, var count: Int )