From 897f3dc79984beb364a2565668e72fb6cf8b109b Mon Sep 17 00:00:00 2001 From: Alex Tkachman Date: Sun, 8 Jan 2012 13:24:14 +0200 Subject: [PATCH] KT-923 Collection.indices property --- stdlib/ktSrc/JavaUtil.kt | 2 ++ testlib/test/CollectionTest.kt | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/stdlib/ktSrc/JavaUtil.kt b/stdlib/ktSrc/JavaUtil.kt index f1043599bd1..36fc28165ec 100644 --- a/stdlib/ktSrc/JavaUtil.kt +++ b/stdlib/ktSrc/JavaUtil.kt @@ -19,6 +19,8 @@ inline fun linkedList(vararg values: T) : LinkedList = values.to(LinkedLi /** Returns a new HashSet with a variable number of initial elements */ inline fun hashSet(vararg values: T) : HashSet = values.to(HashSet(values.size)) +val Collection<*>.indices : IntRange + get() = 0..size-1 inline fun java.util.Collection.toArray() : Array { val answer = Array(this.size) diff --git a/testlib/test/CollectionTest.kt b/testlib/test/CollectionTest.kt index c479553458e..d977e68595e 100644 --- a/testlib/test/CollectionTest.kt +++ b/testlib/test/CollectionTest.kt @@ -245,6 +245,14 @@ class CollectionTest() : TestSupport() { fails { hashSet().last() } } + fun testIndices() { + val indices = data.indices + assertEquals(0, indices.start) + assertEquals(1, indices.end) + assertEquals(2, indices.size) + assertFalse(indices.isReversed) + } + fun testContains() { assertTrue(data.contains("foo")) assertTrue(data.contains("bar"))