Kotlin, cómo probar (int) array

Me gustaría encontrar una forma agradable y concisa para probar intarray

al principio lo intenté

mFaces[0].mIndices shouldBe intArrayOf(0, 1, 2)

donde mIndices es

var mIndices: IntArray = IntArray(0)

pero falla Intellij también me sugiere que anule equals() con Array s

Entonces quería probar algo como esto

mFaces[0].mIndices.all { it. == index } shouldBe true

pero parece que no hay forma de recuperar el índice dentro de all{..} o es esto

 var p = 0 mFaces[0].mIndices.all { it == p++ } shouldBe true 

la única posibilidad?

En Java (Kotlin), las matrices se comparan por reference, no por contenido. Eso significa que intArrayOf(1, 2, 3) != intArrayOf(1, 2, 3) .

Para comparar el contenido de las matrices, tienes 2 opciones:

  1. Usa una comparación profunda:

    Arrays.deepequals(mFaces[0].mIndices, intArrayOf(0, 1, 2))

  2. Listas de uso:

    mFaces[0].mIndices.toList() == listOf(0, 1, 2)