| /* |
| * 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 }) |
| } |
| } |