| /* | |
| * 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 AllEqualArrayTest { | |
| @Test | |
| fun allEqual() { | |
| assertTrue(arrayOf<String>().allEqual()) | |
| assertTrue(arrayOf("a").allEqual()) | |
| assertTrue(arrayOf("a", "a").allEqual()) | |
| assertTrue(arrayOf("a", "a", "a").allEqual()) | |
| assertFalse(arrayOf("a", "b").allEqual()) | |
| assertFalse(arrayOf("b", "a").allEqual()) | |
| assertFalse(arrayOf("a", "a", "b").allEqual()) | |
| assertFalse(arrayOf("b", "a", "a").allEqual()) | |
| } | |
| @Test | |
| fun allEqualBy() { | |
| assertTrue(arrayOf<String>().allEqualBy { it.length }) | |
| assertTrue(arrayOf("a").allEqualBy { it.length }) | |
| assertTrue(arrayOf("a").allEqualBy { error("should not be called") }) | |
| assertTrue(arrayOf("a", "b", "c").allEqualBy { it.length }) | |
| assertFalse(arrayOf("a", "bb").allEqualBy { it.length }) | |
| assertTrue(arrayOf("a", "bb").allEqualBy { 0 }) | |
| assertTrue(arrayOf("a", "b", "c").allEqualBy { null }) | |
| } | |
| @Test | |
| fun allEqualNaNDouble() { | |
| assertTrue(arrayOf(Double.NaN, Double.NaN).allEqual()) | |
| assertTrue(arrayOf(Double.NaN, Double.NaN, Double.NaN).allEqual()) | |
| assertFalse(arrayOf(Double.NaN, 1.0).allEqual()) | |
| assertFalse(arrayOf(1.0, Double.NaN).allEqual()) | |
| assertFalse(arrayOf(Double.NaN, 1.0, Double.NaN).allEqual()) | |
| } | |
| @Test | |
| fun allEqualNegativeZeroDouble() { | |
| assertTrue(arrayOf(0.0, 0.0).allEqual()) | |
| assertTrue(arrayOf(-0.0, -0.0).allEqual()) | |
| assertFalse(arrayOf(0.0, -0.0).allEqual()) | |
| assertFalse(arrayOf(-0.0, 0.0).allEqual()) | |
| } | |
| @Test | |
| fun allEqualByNaNDouble() { | |
| assertTrue(arrayOf(Double.NaN, Double.NaN).allEqualBy { it }) | |
| assertTrue(arrayOf(Double.NaN, Double.NaN, Double.NaN).allEqualBy { it }) | |
| assertFalse(arrayOf(Double.NaN, 1.0).allEqualBy { it }) | |
| assertFalse(arrayOf(1.0, Double.NaN).allEqualBy { it }) | |
| assertFalse(arrayOf(Double.NaN, 1.0, Double.NaN).allEqualBy { it }) | |
| } | |
| @Test | |
| fun allEqualByNegativeZeroDouble() { | |
| assertTrue(arrayOf(0.0, 0.0).allEqualBy { it }) | |
| assertTrue(arrayOf(-0.0, -0.0).allEqualBy { it }) | |
| assertFalse(arrayOf(0.0, -0.0).allEqualBy { it }) | |
| assertFalse(arrayOf(-0.0, 0.0).allEqualBy { it }) | |
| } | |
| @Test | |
| fun allEqualDifferentNaNBitsDouble() { | |
| assertTrue(arrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32)).allEqual()) | |
| assertTrue(arrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32), Double.fromBits(0x7FF8000000000001L)).allEqual()) | |
| assertTrue(arrayOf(Double.fromBits(0x7FF8000000000001L), Double.fromBits(0xFFF80000L shl 32), Double.NaN).allEqual()) | |
| assertFalse(arrayOf(Double.NaN, 1.0).allEqual()) | |
| assertFalse(arrayOf(1.0, Double.fromBits(0xFFF80000L shl 32)).allEqual()) | |
| } | |
| @Test | |
| fun allEqualByDifferentNaNBitsDouble() { | |
| assertTrue(arrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32)).allEqualBy { it }) | |
| assertTrue(arrayOf(Double.NaN, Double.fromBits(0xFFF80000L shl 32), Double.fromBits(0x7FF8000000000001L)).allEqualBy { it }) | |
| assertFalse(arrayOf(Double.NaN, 1.0).allEqualBy { it }) | |
| } | |
| @Test | |
| fun allEqualNaNFloat() { | |
| assertTrue(arrayOf(Float.NaN, Float.NaN).allEqual()) | |
| assertTrue(arrayOf(Float.NaN, Float.NaN, Float.NaN).allEqual()) | |
| assertFalse(arrayOf(Float.NaN, 1.0f).allEqual()) | |
| assertFalse(arrayOf(1.0f, Float.NaN).allEqual()) | |
| assertFalse(arrayOf(Float.NaN, 1.0f, Float.NaN).allEqual()) | |
| } | |
| @Test | |
| fun allEqualNegativeZeroFloat() { | |
| assertTrue(arrayOf(0.0f, 0.0f).allEqual()) | |
| assertTrue(arrayOf(-0.0f, -0.0f).allEqual()) | |
| assertFalse(arrayOf(0.0f, -0.0f).allEqual()) | |
| assertFalse(arrayOf(-0.0f, 0.0f).allEqual()) | |
| } | |
| @Test | |
| fun allEqualByNaNFloat() { | |
| assertTrue(arrayOf(Float.NaN, Float.NaN).allEqualBy { it }) | |
| assertTrue(arrayOf(Float.NaN, Float.NaN, Float.NaN).allEqualBy { it }) | |
| assertFalse(arrayOf(Float.NaN, 1.0f).allEqualBy { it }) | |
| assertFalse(arrayOf(1.0f, Float.NaN).allEqualBy { it }) | |
| assertFalse(arrayOf(Float.NaN, 1.0f, Float.NaN).allEqualBy { it }) | |
| } | |
| @Test | |
| fun allEqualByNegativeZeroFloat() { | |
| assertTrue(arrayOf(0.0f, 0.0f).allEqualBy { it }) | |
| assertTrue(arrayOf(-0.0f, -0.0f).allEqualBy { it }) | |
| assertFalse(arrayOf(0.0f, -0.0f).allEqualBy { it }) | |
| assertFalse(arrayOf(-0.0f, 0.0f).allEqualBy { it }) | |
| } | |
| @Test | |
| fun allEqualDifferentNaNBitsFloat() { | |
| assertTrue(arrayOf(Float.NaN, Float.fromBits(0xFFFC0000.toInt())).allEqual()) | |
| assertTrue(arrayOf(Float.NaN, Float.fromBits(0xFFFC0000.toInt()), Float.fromBits(0x7FC00001)).allEqual()) | |
| assertTrue(arrayOf(Float.fromBits(0x7FC00001), Float.fromBits(0xFFFC0000.toInt()), Float.NaN).allEqual()) | |
| assertFalse(arrayOf(Float.NaN, 1.0f).allEqual()) | |
| assertFalse(arrayOf(1.0f, Float.fromBits(0xFFFC0000.toInt())).allEqual()) | |
| } | |
| @Test | |
| fun allEqualByDifferentNaNBitsFloat() { | |
| assertTrue(arrayOf(Float.NaN, Float.fromBits(0xFFFC0000.toInt())).allEqualBy { it }) | |
| assertTrue(arrayOf(Float.NaN, Float.fromBits(0xFFFC0000.toInt()), Float.fromBits(0x7FC00001)).allEqualBy { it }) | |
| assertFalse(arrayOf(Float.NaN, 1.0f).allEqualBy { it }) | |
| } | |
| } |