package test.collections import java.util.ArrayList import kotlin.test.* import org.junit.Test as test class ListTest { test fun toString() { val data = arrayList("foo", "bar") assertEquals("[foo, bar]", data.toString()) } test fun head() { val data = arrayList("foo", "bar") assertEquals("foo", data.head) } test fun tail() { val data = arrayList("foo", "bar", "whatnot") val actual = data.tail val expected = arrayList("bar", "whatnot") assertEquals(expected, actual) } test fun first() { val data = arrayList("foo", "bar") assertEquals("foo", data.first) } test fun last() { val data = arrayList("foo", "bar") assertEquals("bar", data.last) } test fun withIndices() { val data = arrayList("foo", "bar") val wis = data.withIndices() var index = 0 for (withIndex in wis) { assertEquals(withIndex.first, index) assertEquals(withIndex.second, data[index]) index++ } assertEquals(data.size(), index) } test fun lastIndex() { val emptyData = ArrayList() val data = arrayList("foo", "bar") assertEquals(-1, emptyData.lastIndex) assertEquals(1, data.lastIndex) } }