@Test
void equals_hashCode_toString() {

    long millis = 173_000;
    Distance distance = Distance.ofMillis(millis);
    PortableDistance portableDistance = PortableDistance.fromDistance(distance);
    assertThat(portableDistance)
            // equals()
            .isEqualTo(portableDistance)
            .isEqualTo(PortableDistance.fromDistance(distance))
            .isNotEqualTo(null)
            .isNotEqualTo(millis)
            .isNotEqualTo(PortableDistance.fromDistance(Distance.ofMillis(millis - 501)))
            // hashCode()
            .hasSameHashCodeAs(PortableDistance.fromDistance(distance))
            // toString()
            .asString().contains("0h 2m 53s");
}