| /* |
| * 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.allequal |
| |
| // |
| // NOTE: THIS FILE IS AUTO-GENERATED by the AllEqualTestGenerator.kt |
| // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib |
| // |
| |
| import kotlin.test.* |
| |
| class AllEqualDoubleArrayTest { |
| |
| @Test |
| fun allEqual() { |
| assertTrue(doubleArrayOf().allEqual()) |
| assertTrue(doubleArrayOf(1.0).allEqual()) |
| assertTrue(doubleArrayOf(1.0, 1.0).allEqual()) |
| assertTrue(doubleArrayOf(1.0, 1.0, 1.0).allEqual()) |
| assertFalse(doubleArrayOf(1.0, 2.0).allEqual()) |
| assertFalse(doubleArrayOf(2.0, 1.0).allEqual()) |
| assertFalse(doubleArrayOf(1.0, 1.0, 2.0).allEqual()) |
| assertFalse(doubleArrayOf(2.0, 1.0, 1.0).allEqual()) |
| } |
| |
| @Test |
| fun allEqualBy() { |
| assertTrue(doubleArrayOf().allEqualBy { it * it }) |
| assertTrue(doubleArrayOf(1.0).allEqualBy { it * it }) |
| assertTrue(doubleArrayOf(1.0).allEqualBy { error("should not be called") }) |
| assertTrue(doubleArrayOf(1.0, -1.0, 1.0).allEqualBy { it * it }) |
| assertFalse(doubleArrayOf(1.0, 2.0).allEqualBy { it * it }) |
| assertTrue(doubleArrayOf(1.0, 2.0).allEqualBy { 0 }) |
| assertTrue(doubleArrayOf(1.0, -1.0, 1.0).allEqualBy { null }) |
| } |
| |
| @Test |
| fun allEqualNaNDouble() { |
| assertTrue(doubleArrayOf(Double.NaN, Double.NaN).allEqual()) |
| assertTrue(doubleArrayOf(Double.NaN, Double.NaN, Double.NaN).allEqual()) |
| assertFalse(doubleArrayOf(Double.NaN, 1.0).allEqual()) |
| assertFalse(doubleArrayOf(1.0, Double.NaN).allEqual()) |
| assertFalse(doubleArrayOf(Double.NaN, 1.0, Double.NaN).allEqual()) |
| } |
| |
| @Test |
| fun allEqualNegativeZeroDouble() { |
| assertTrue(doubleArrayOf(0.0, 0.0).allEqual()) |
| assertTrue(doubleArrayOf(-0.0, -0.0).allEqual()) |
| assertFalse(doubleArrayOf(0.0, -0.0).allEqual()) |
| assertFalse(doubleArrayOf(-0.0, 0.0).allEqual()) |
| } |
| |
| @Test |
| fun allEqualByNaNDouble() { |
| assertTrue(doubleArrayOf(Double.NaN, Double.NaN).allEqualBy { it }) |
| assertTrue(doubleArrayOf(Double.NaN, Double.NaN, Double.NaN).allEqualBy { it }) |
| assertFalse(doubleArrayOf(Double.NaN, 1.0).allEqualBy { it }) |
| assertFalse(doubleArrayOf(1.0, Double.NaN).allEqualBy { it }) |
| assertFalse(doubleArrayOf(Double.NaN, 1.0, Double.NaN).allEqualBy { it }) |
| } |
| |
| @Test |
| fun allEqualByNegativeZeroDouble() { |
| assertTrue(doubleArrayOf(0.0, 0.0).allEqualBy { it }) |
| assertTrue(doubleArrayOf(-0.0, -0.0).allEqualBy { it }) |
| assertFalse(doubleArrayOf(0.0, -0.0).allEqualBy { it }) |
| assertFalse(doubleArrayOf(-0.0, 0.0).allEqualBy { it }) |
| } |
| |
| @Test |
| fun allEqualDifferentNaNBitsDouble() { |
| assertTrue(doubleArrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32)).allEqual()) |
| assertTrue(doubleArrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32), Double.fromBits(0x7FF8000000000001L)).allEqual()) |
| assertTrue(doubleArrayOf(Double.fromBits(0x7FF8000000000001L), Double.fromBits(0xFFF80000L shl 32), Double.NaN).allEqual()) |
| assertFalse(doubleArrayOf(Double.NaN, 1.0).allEqual()) |
| assertFalse(doubleArrayOf(1.0, Double.fromBits(0xFFF80000L shl 32)).allEqual()) |
| } |
| |
| @Test |
| fun allEqualByDifferentNaNBitsDouble() { |
| assertTrue(doubleArrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32)).allEqualBy { it }) |
| assertTrue(doubleArrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32), Double.fromBits(0x7FF8000000000001L)).allEqualBy { it }) |
| assertFalse(doubleArrayOf(Double.NaN, 1.0).allEqualBy { it }) |
| } |
| } |