blob: d0b0d7c872befd47741254d3cf6492b7e11e7f11 [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.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 })
}
}