google / google/truth

Document when arrays are compared by their contents vs. their object identity

Open
#928 3 comments 0 reactions 0 assignees View on GitHub
P3 type=api-docs
Dominant language
Java
Stars
2.8k
Forks
275
Avg merge
7m
Merged PRs (30d)
4

Description

Hi, I got some strange results when comparing List of Arrays. It seems to work for Array of Arrays, List of Lists, and Array of Lists though:

```
assertThat(emptyList()).isEqualTo(emptyList()) // true
assertThat(emptyArray()).isEqualTo(emptyArray()) // true
assertThat(listOf(1, 2, 3)).isEqualTo(listOf(1, 2, 3)) // true
assertThat(arrayOf(1, 2, 3)).isEqualTo(arrayOf(1, 2, 3)) // true
assertThat(listOf(listOf(1, 2, 3))).isEqualTo(listOf(listOf(1, 2, 3))) // true
assertThat(listOf(listOf(1, 2, 3))).containsExactlyElementsIn(listOf(listOf(1, 2, 3))).inOrder() // true
assertThat(arrayOf(arrayOf(1, 2, 3))).isEqualTo(arrayOf(arrayOf(1, 2, 3))) // true
assertThat(arrayOf(listOf(1, 2, 3))).isEqualTo(arrayOf(listOf(1, 2, 3))) // true

assertThat(listOf(arrayOf(1, 2, 3))).isEqualTo(listOf(arrayOf(1, 2, 3))) // false
assertThat(listOf(arrayOf(1, 2, 3))).containsExactlyElementsIn(listOf(arrayOf(1, 2, 3))).inOrder() // false
```

This happens in version 1.1.3.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.