Fix UArray.containsAll(Collection<Any?>)
This commit is contained in:
committed by
Ilya Gorbunov
parent
60e83383ad
commit
c1b523ddef
@@ -6,10 +6,19 @@
|
||||
@file:Suppress("SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED")
|
||||
package test.collections
|
||||
|
||||
import test.collections.behaviors.collectionBehavior
|
||||
import kotlin.test.*
|
||||
|
||||
class UnsignedArraysTest {
|
||||
|
||||
@Test
|
||||
fun collectionBehavior() {
|
||||
compare(listOf<UByte>(), ubyteArrayOf()) { this.collectionBehavior() }
|
||||
compare(listOf<UShort>(1), ushortArrayOf(1)) { this.collectionBehavior() }
|
||||
compare(listOf<UInt>(1, 2), uintArrayOf(1u, 2u)) { this.collectionBehavior() }
|
||||
compare(listOf<ULong>(1, 2, 3), ulongArrayOf(1u, 2u, 3u)) { this.collectionBehavior() }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun ubyteArrayInit() {
|
||||
val zeroArray = UByteArray(42)
|
||||
|
||||
@@ -39,7 +39,10 @@ internal constructor(@PublishedApi internal val storage: ByteArray) : Collection
|
||||
|
||||
override fun contains(element: UByte): Boolean = storage.contains(element.toByte())
|
||||
|
||||
override fun containsAll(elements: Collection<UByte>): Boolean = elements.all { storage.contains(it.toByte()) }
|
||||
override fun containsAll(elements: Collection<UByte>): Boolean {
|
||||
if ((elements as Collection<Any?>).any { it as? UByte == null }) return false
|
||||
return elements.all { storage.contains(it.toByte()) }
|
||||
}
|
||||
|
||||
override fun isEmpty(): Boolean = this.storage.size == 0
|
||||
}
|
||||
|
||||
@@ -39,7 +39,10 @@ internal constructor(@PublishedApi internal val storage: IntArray) : Collection<
|
||||
|
||||
override fun contains(element: UInt): Boolean = storage.contains(element.toInt())
|
||||
|
||||
override fun containsAll(elements: Collection<UInt>): Boolean = elements.all { storage.contains(it.toInt()) }
|
||||
override fun containsAll(elements: Collection<UInt>): Boolean {
|
||||
if ((elements as Collection<Any?>).any { it as? UInt == null }) return false
|
||||
return elements.all { storage.contains(it.toInt()) }
|
||||
}
|
||||
|
||||
override fun isEmpty(): Boolean = this.storage.size == 0
|
||||
}
|
||||
|
||||
@@ -39,7 +39,10 @@ internal constructor(@PublishedApi internal val storage: LongArray) : Collection
|
||||
|
||||
override fun contains(element: ULong): Boolean = storage.contains(element.toLong())
|
||||
|
||||
override fun containsAll(elements: Collection<ULong>): Boolean = elements.all { storage.contains(it.toLong()) }
|
||||
override fun containsAll(elements: Collection<ULong>): Boolean {
|
||||
if ((elements as Collection<Any?>).any { it as? ULong == null }) return false
|
||||
return elements.all { storage.contains(it.toLong()) }
|
||||
}
|
||||
|
||||
override fun isEmpty(): Boolean = this.storage.size == 0
|
||||
}
|
||||
|
||||
@@ -39,7 +39,10 @@ internal constructor(@PublishedApi internal val storage: ShortArray) : Collectio
|
||||
|
||||
override fun contains(element: UShort): Boolean = storage.contains(element.toShort())
|
||||
|
||||
override fun containsAll(elements: Collection<UShort>): Boolean = elements.all { storage.contains(it.toShort()) }
|
||||
override fun containsAll(elements: Collection<UShort>): Boolean {
|
||||
if ((elements as Collection<Any?>).any { it as? UShort == null }) return false
|
||||
return elements.all { storage.contains(it.toShort()) }
|
||||
}
|
||||
|
||||
override fun isEmpty(): Boolean = this.storage.size == 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user