| /* | |
| * 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 AllDistinctDoubleArrayTest { | |
| @Test | |
| fun allDistinct() { | |
| assertTrue(doubleArrayOf().allDistinct()) | |
| assertTrue(doubleArrayOf(1.0).allDistinct()) | |
| assertTrue(doubleArrayOf(1.0, 2.0).allDistinct()) | |
| assertFalse(doubleArrayOf(1.0, 1.0).allDistinct()) | |
| assertFalse(doubleArrayOf(2.0, 2.0).allDistinct()) | |
| assertFalse(doubleArrayOf(1.0, 2.0, 1.0).allDistinct()) | |
| assertFalse(doubleArrayOf(2.0, 1.0, 2.0).allDistinct()) | |
| } | |
| @Test | |
| fun allDistinctBy() { | |
| assertTrue(doubleArrayOf().allDistinctBy { it * it }) | |
| assertTrue(doubleArrayOf(1.0).allDistinctBy { it * it }) | |
| assertTrue(doubleArrayOf(1.0).allDistinctBy { error("should not be called") }) | |
| assertTrue(doubleArrayOf(1.0, 2.0).allDistinctBy { it * it }) | |
| assertFalse(doubleArrayOf(1.0, -1.0, 1.0).allDistinctBy { it * it }) | |
| assertFalse(doubleArrayOf(1.0, 2.0).allDistinctBy { 0 }) | |
| assertFalse(doubleArrayOf(1.0, 2.0).allDistinctBy { null }) | |
| } | |
| @Test | |
| fun allDistinctNaNDouble() { | |
| assertTrue(doubleArrayOf(Double.NaN).allDistinct()) | |
| assertTrue(doubleArrayOf(Double.NaN, 1.0).allDistinct()) | |
| assertFalse(doubleArrayOf(Double.NaN, Double.NaN).allDistinct()) | |
| assertFalse(doubleArrayOf(Double.NaN, Double.NaN, Double.NaN).allDistinct()) | |
| assertFalse(doubleArrayOf(Double.NaN, 1.0, Double.NaN).allDistinct()) | |
| } | |
| @Test | |
| fun allDistinctNegativeZeroDouble() { | |
| assertTrue(doubleArrayOf(0.0, -0.0).allDistinct()) | |
| assertFalse(doubleArrayOf(0.0, 0.0).allDistinct()) | |
| assertFalse(doubleArrayOf(-0.0, -0.0).allDistinct()) | |
| } | |
| @Test | |
| fun allDistinctByNaNDouble() { | |
| assertTrue(doubleArrayOf(Double.NaN, 1.0).allDistinctBy { it }) | |
| assertFalse(doubleArrayOf(Double.NaN, Double.NaN).allDistinctBy { it }) | |
| assertFalse(doubleArrayOf(Double.NaN, 1.0, Double.NaN).allDistinctBy { it }) | |
| } | |
| @Test | |
| fun allDistinctByNegativeZeroDouble() { | |
| assertTrue(doubleArrayOf(0.0, -0.0).allDistinctBy { it }) | |
| assertFalse(doubleArrayOf(0.0, 0.0).allDistinctBy { it }) | |
| } | |
| @Test | |
| fun allDistinctDifferentNaNBitsDouble() { | |
| assertFalse(doubleArrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32)).allDistinct()) | |
| assertFalse(doubleArrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32), Double.fromBits(0x7FF8000000000001L)).allDistinct()) | |
| assertFalse(doubleArrayOf(Double.fromBits(0x7FF8000000000001L), Double.fromBits(0xFFF80000L shl 32), Double.NaN).allDistinct()) | |
| assertTrue(doubleArrayOf(Double.NaN, 1.0).allDistinct()) | |
| assertTrue(doubleArrayOf(0.0, 1.0).allDistinct()) | |
| } | |
| @Test | |
| fun allDistinctByDifferentNaNBitsDouble() { | |
| assertFalse(doubleArrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32)).allDistinctBy { it }) | |
| assertFalse(doubleArrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32), Double.fromBits(0x7FF8000000000001L)).allDistinctBy { it }) | |
| assertTrue(doubleArrayOf(Double.NaN, 1.0).allDistinctBy { it }) | |
| } | |
| } |