1 package org.robolectric.integrationtests.sparsearray
2 
3 import android.util.SparseArray
4 import com.google.common.truth.Truth.assertThat
5 import org.junit.Test
6 import org.junit.runner.RunWith
7 import org.robolectric.RobolectricTestRunner
8 import org.robolectric.annotation.Config
9 
10 @RunWith(RobolectricTestRunner::class)
11 // Despite being a bug for pre-31, we don't want to break 31+ with our change, so we test all SDKs
12 @Config(sdk = [Config.ALL_SDKS])
13 class SparseArraySetTest {
14 
15   val sparseArray = SparseArray<String>()
16 
17   // See https://github.com/robolectric/robolectric/issues/6840
18   @Test
testSparseArrayBracketOperator_callsSetMethodPreApi31null19   fun testSparseArrayBracketOperator_callsSetMethodPreApi31() {
20     sparseArray[0] = "Blizzard"
21     sparseArray[1] = "Blizzara"
22 
23     assertThat(sparseArray[0]).isEqualTo("Blizzard")
24     assertThat(sparseArray[1]).isEqualTo("Blizzara")
25   }
26 
27   @Test
testSparseArraySetFunction_callsSetMethodPreApi31null28   fun testSparseArraySetFunction_callsSetMethodPreApi31() {
29     sparseArray.set(0, "Blizzaga")
30     sparseArray.set(1, "Blizzaja")
31 
32     assertThat(sparseArray[0]).isEqualTo("Blizzaga")
33     assertThat(sparseArray[1]).isEqualTo("Blizzaja")
34   }
35 }
36