Skip to content

Commit 7bb3d7f

Browse files
authored
Merge pull request #765 from albertache1998/list-lists
[KTLN-712] Initialize a List of Lists in Kotlin
2 parents 26b119f + a2e7059 commit 7bb3d7f

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package listOfLists
2+
3+
import org.junit.jupiter.api.Assertions.assertEquals
4+
import org.junit.jupiter.api.Test
5+
import kotlin.test.assertTrue
6+
7+
class ListOfListsUnitTest {
8+
9+
@Test
10+
fun `Creates an immutable list of immutable lists using listOf()`() {
11+
val listOfLists = listOf(listOf(1, 2), listOf(3, 4), listOf(5, 6))
12+
13+
assertEquals(3, listOfLists.size)
14+
assertEquals(listOf(1, 2), listOfLists[0])
15+
assertEquals(listOf(3, 4), listOfLists[1])
16+
assertEquals(listOf(5, 6), listOfLists[2])
17+
}
18+
19+
@Test
20+
fun `Creates an immutable list of mutable lists using List constructor`() {
21+
val listOfLists = List(3) { MutableList<Int>(2) {0} }
22+
23+
assertEquals(3, listOfLists.size)
24+
assertEquals(listOf(0, 0), listOfLists[0])
25+
assertEquals(listOf(0, 0), listOfLists[1])
26+
assertEquals(listOf(0, 0), listOfLists[2])
27+
}
28+
29+
@Test
30+
fun `Creates an immutable list of immutable lists using map method`() {
31+
val listOfLists = (0..2).map { _ -> (0..1).map { 0 } }
32+
33+
assertEquals(3, listOfLists.size)
34+
assertEquals(listOf(0, 0), listOfLists[0])
35+
assertEquals(listOf(0, 0), listOfLists[1])
36+
assertEquals(listOf(0, 0), listOfLists[2])
37+
}
38+
39+
@Test
40+
fun `Creates an immutable list of mutable lists using map method`() {
41+
val listOfMutableLists = (0..2).map { mutableListOf<Int>() }
42+
43+
assertEquals(3, listOfMutableLists.size)
44+
assertTrue(listOfMutableLists.all { it.isEmpty() })
45+
}
46+
}

0 commit comments

Comments
 (0)