diff --git a/snowplow-tracker/src/androidTest/java/com/snowplowanalytics/snowplow/event/AbstractEventTest.kt b/snowplow-tracker/src/androidTest/java/com/snowplowanalytics/snowplow/event/AbstractEventTest.kt index b240243e6..e9c59eea8 100644 --- a/snowplow-tracker/src/androidTest/java/com/snowplowanalytics/snowplow/event/AbstractEventTest.kt +++ b/snowplow-tracker/src/androidTest/java/com/snowplowanalytics/snowplow/event/AbstractEventTest.kt @@ -24,14 +24,21 @@ class AbstractEventTest { @Test fun testAddsEntitiesUsingAllAPIs() { val event = ScreenView("screen") - val entity = SelfDescribingJson("schema3", "data3") - - event.entities.add(SelfDescribingJson("schema1", "data1")) - event.contexts(listOf(SelfDescribingJson("schema2", "data2"))) - event.entities(listOf(entity)) + val entity1 = SelfDescribingJson("schema1", "data1") + val entity2 = SelfDescribingJson("schema2", "data2") + val entity3 = SelfDescribingJson("schema3", "data3") + event.entities.add(entity1) Assert.assertEquals(1, event.entities.count()) - Assert.assertEquals(1, event.contexts.count()) - Assert.assertTrue(event.entities.contains(entity)) + + event.entities(listOf(entity2)) + Assert.assertEquals(2, event.entities.count()) + + event.contexts(listOf(entity3)) + Assert.assertEquals(3, event.entities.count()) + Assert.assertEquals(3, event.contexts.count()) + Assert.assertTrue(event.entities.contains(entity1)) + Assert.assertTrue(event.entities.contains(entity2)) + Assert.assertTrue(event.entities.contains(entity3)) } } diff --git a/snowplow-tracker/src/main/java/com/snowplowanalytics/snowplow/event/AbstractEvent.kt b/snowplow-tracker/src/main/java/com/snowplowanalytics/snowplow/event/AbstractEvent.kt index 984c7aca2..4022bfd22 100644 --- a/snowplow-tracker/src/main/java/com/snowplowanalytics/snowplow/event/AbstractEvent.kt +++ b/snowplow-tracker/src/main/java/com/snowplowanalytics/snowplow/event/AbstractEvent.kt @@ -22,7 +22,7 @@ import java.util.* * - "True" timestamp: user-defined custom event timestamp */ abstract class AbstractEvent : Event { - private var _entities: MutableList = LinkedList() + private var _entities = mutableListOf() /** * @return the custom context entities associated with the event. */ @@ -55,13 +55,13 @@ abstract class AbstractEvent : Event { // Builder methods - /** Replace the context entities attached to the event with a new list of entities. */ + /** Adds a list of context entities to the existing ones. */ fun entities(entities: List): AbstractEvent { - this.entities = entities.toMutableList() + this.entities.addAll(entities) return this } - /** Replace the context entities attached to the event with a new list of entities. */ + /** Adds a list of context entities to the existing ones. */ @Deprecated("Old nomenclature.", ReplaceWith("entities()")) fun contexts(contexts: List): AbstractEvent { return entities(contexts)