Kotlin,如何测试(int)数组

时间:2016-11-19 09:45:41

标签: kotlin kotlintest

我想找一个简洁明了的方法来测试intarray

起初我试过

EXEC dbo.sp256 @reference output

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

mIndices

但失败了。 Intellij还建议我用var mIndices: IntArray = IntArray(0) s

覆盖equals()

然后我想尝试这样的事情

Array

但看起来无法在mFaces[0].mIndices.all { it. == index } shouldBe true内检索it的索引或是

all{..}

唯一的可能性?

1 个答案:

答案 0 :(得分:2)

在Java(Kotlin)中,数组按引用进行比较,按内容进行比较。这意味着intArrayOf(1, 2, 3) != intArrayOf(1, 2, 3)

要比较数组的内容,您有两个选项:

  1. 使用深度比较:

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

  2. 使用列表:

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