Add toString() and equals() implementations for core domain types (Table, Row, Value, Column)

Open
#324 1 comment 0 reactions 1 assignee View on GitHub

@VanRoy is already working on this.

Since Dec 11, 2025.

Assessment

This issue has not been assessed yet.

Description

Hi,

for many relevant domain types like

  • Table
  • Row
  • Value
  • Column

there are currently no implementations of toString() and equals() (and, by implication, hashCode()). This is a significant blocker for making reliable assertions across different datasets and hinders test readability and diagnostics.

My current workaround is:

Assertions.assertThat(actualRows)
  .usingElementComparator(new CustomRowComparator())
  .withRepresentation(new CustomRowRepresentation())
  .containsExactlyInAnyOrderElementsOf(expectedRows);

I would like to contribute a fix by adding consistent equals(), hashCode(), and toString() implementations for the classes above.

Dominant language
Java
Stars
130
Forks
21
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from assertj/assertj-db

All issues in assertj/assertj-db

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.