standard library: 'sum' function added (KT-3714, KT-3843, KT-3126)
This commit is contained in:
@@ -58,4 +58,14 @@ class ArraysJVMTest {
|
||||
intArray().reduceRight { a, b -> a + b}
|
||||
}
|
||||
}
|
||||
|
||||
test fun sum() {
|
||||
expect(0) { intArray().sum() }
|
||||
expect(14) { intArray(2, 3, 9).sum() }
|
||||
expect(3.0) { doubleArray(1.0, 2.0).sum() }
|
||||
expect(200) { byteArray(100, 100).sum() }
|
||||
expect(50000) { shortArray(20000, 30000).sum() }
|
||||
expect(3000000000000) { longArray(1000000000000, 2000000000000).sum() }
|
||||
expect(3.0) { floatArray(1.0, 2.0).sum() }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,6 +101,16 @@ class ArraysTest {
|
||||
assertEquals(false, arr[1])
|
||||
}
|
||||
|
||||
test fun sum() {
|
||||
expect(0) { array<Int>().sum() }
|
||||
expect(14) { array(2, 3, 9).sum() }
|
||||
expect(3.0) { array(1.0, 2.0).sum() }
|
||||
expect(200) { array<Byte>(100, 100).sum() }
|
||||
expect(50000) { array<Short>(20000, 30000).sum() }
|
||||
//TODO: uncomment when toLong() will be supported
|
||||
//expect(3000000000000) { array<Long>(1000000000000, 2000000000000).sum() }
|
||||
expect(3.0) { array<Float>(1.0, 2.0).sum() }
|
||||
}
|
||||
/*
|
||||
|
||||
TODO FIXME ASAP: These currently fail on JS due to missing upto() method on numbers
|
||||
|
||||
@@ -414,6 +414,14 @@ class CollectionTest {
|
||||
expect(arrayList(2, 3, 1)) { list }
|
||||
}
|
||||
|
||||
test fun sum() {
|
||||
expect(0) { ArrayList<Int>().sum() }
|
||||
expect(14) { arrayListOf(2, 3, 9).sum() }
|
||||
expect(3.0) { arrayListOf(1.0, 2.0).sum() }
|
||||
expect(3000000000000) { arrayListOf<Long>(1000000000000, 2000000000000).sum() }
|
||||
expect(3.0) { arrayListOf<Float>(1.0, 2.0).sum() }
|
||||
}
|
||||
|
||||
class IterableWrapper<T>(collection : Iterable<T>) : Iterable<T> {
|
||||
private val collection = collection
|
||||
|
||||
|
||||
Reference in New Issue
Block a user