blob: 1b89c328975e4812e8a3bf15211e81c177756c9f [file]
/*
* Copyright 2010-2026 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package test.generated.alldistinct
//
// NOTE: THIS FILE IS AUTO-GENERATED by the AllDistinctTestGenerator.kt
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
//
import kotlin.test.*
class AllDistinctIterablesTest {
@Test
fun allDistinct() {
assertTrue(listOf<String>().allDistinct())
assertTrue(listOf("a").allDistinct())
assertTrue(listOf("a", "b").allDistinct())
assertFalse(listOf("a", "a").allDistinct())
assertFalse(listOf("b", "b").allDistinct())
assertFalse(listOf("a", "b", "a").allDistinct())
assertFalse(listOf("b", "a", "b").allDistinct())
}
@Test
fun allDistinctBy() {
assertTrue(listOf<String>().allDistinctBy { it.length })
assertTrue(listOf("a").allDistinctBy { it.length })
assertTrue(listOf("a").allDistinctBy { error("should not be called") })
assertTrue(listOf("a", "bb").allDistinctBy { it.length })
assertFalse(listOf("a", "b", "c").allDistinctBy { it.length })
assertFalse(listOf("a", "b").allDistinctBy { 0 })
assertFalse(listOf("a", "b").allDistinctBy { null })
}
@Test
fun allDistinctNaNDouble() {
assertTrue(listOf(Double.NaN).allDistinct())
assertTrue(listOf(Double.NaN, 1.0).allDistinct())
assertFalse(listOf(Double.NaN, Double.NaN).allDistinct())
assertFalse(listOf(Double.NaN, Double.NaN, Double.NaN).allDistinct())
assertFalse(listOf(Double.NaN, 1.0, Double.NaN).allDistinct())
}
@Test
fun allDistinctNegativeZeroDouble() {
assertTrue(listOf(0.0, -0.0).allDistinct())
assertFalse(listOf(0.0, 0.0).allDistinct())
assertFalse(listOf(-0.0, -0.0).allDistinct())
}
@Test
fun allDistinctByNaNDouble() {
assertTrue(listOf(Double.NaN, 1.0).allDistinctBy { it })
assertFalse(listOf(Double.NaN, Double.NaN).allDistinctBy { it })
assertFalse(listOf(Double.NaN, 1.0, Double.NaN).allDistinctBy { it })
}
@Test
fun allDistinctByNegativeZeroDouble() {
assertTrue(listOf(0.0, -0.0).allDistinctBy { it })
assertFalse(listOf(0.0, 0.0).allDistinctBy { it })
}
@Test
fun allDistinctDifferentNaNBitsDouble() {
assertFalse(listOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32)).allDistinct())
assertFalse(listOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32), Double.fromBits(0x7FF8000000000001L)).allDistinct())
assertFalse(listOf(Double.fromBits(0x7FF8000000000001L), Double.fromBits(0xFFF80000L shl 32), Double.NaN).allDistinct())
assertTrue(listOf(Double.NaN, 1.0).allDistinct())
assertTrue(listOf(0.0, 1.0).allDistinct())
}
@Test
fun allDistinctByDifferentNaNBitsDouble() {
assertFalse(listOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32)).allDistinctBy { it })
assertFalse(listOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32), Double.fromBits(0x7FF8000000000001L)).allDistinctBy { it })
assertTrue(listOf(Double.NaN, 1.0).allDistinctBy { it })
}
@Test
fun allDistinctNaNFloat() {
assertTrue(listOf(Float.NaN).allDistinct())
assertTrue(listOf(Float.NaN, 1.0f).allDistinct())
assertFalse(listOf(Float.NaN, Float.NaN).allDistinct())
assertFalse(listOf(Float.NaN, Float.NaN, Float.NaN).allDistinct())
assertFalse(listOf(Float.NaN, 1.0f, Float.NaN).allDistinct())
}
@Test
fun allDistinctNegativeZeroFloat() {
assertTrue(listOf(0.0f, -0.0f).allDistinct())
assertFalse(listOf(0.0f, 0.0f).allDistinct())
assertFalse(listOf(-0.0f, -0.0f).allDistinct())
}
@Test
fun allDistinctByNaNFloat() {
assertTrue(listOf(Float.NaN, 1.0f).allDistinctBy { it })
assertFalse(listOf(Float.NaN, Float.NaN).allDistinctBy { it })
assertFalse(listOf(Float.NaN, 1.0f, Float.NaN).allDistinctBy { it })
}
@Test
fun allDistinctByNegativeZeroFloat() {
assertTrue(listOf(0.0f, -0.0f).allDistinctBy { it })
assertFalse(listOf(0.0f, 0.0f).allDistinctBy { it })
}
@Test
fun allDistinctDifferentNaNBitsFloat() {
assertFalse(listOf(Float.NaN, Float.fromBits(0xFFFC0000.toInt())).allDistinct())
assertFalse(listOf(Float.NaN, Float.fromBits(0xFFFC0000.toInt()), Float.fromBits(0x7FC00001)).allDistinct())
assertFalse(listOf(Float.fromBits(0x7FC00001), Float.fromBits(0xFFFC0000.toInt()), Float.NaN).allDistinct())
assertTrue(listOf(Float.NaN, 1.0f).allDistinct())
assertTrue(listOf(0.0f, 1.0f).allDistinct())
}
@Test
fun allDistinctByDifferentNaNBitsFloat() {
assertFalse(listOf(Float.NaN, Float.fromBits(0xFFFC0000.toInt())).allDistinctBy { it })
assertFalse(listOf(Float.NaN, Float.fromBits(0xFFFC0000.toInt()), Float.fromBits(0x7FC00001)).allDistinctBy { it })
assertTrue(listOf(Float.NaN, 1.0f).allDistinctBy { it })
}
}