@Test
void testEquals() {

    final ToBooleanNullable<String> copy = instance;
    assertTrue(instance.equals(copy));
    assertFalse(instance.equals(null));
    final ToBooleanNullable<String> another = new ToBooleanNullableImpl<>(
        instance.inner(),
        instance.isNullPredicate()
    );
    final ToBooleanNullable<String> originalSame = new ToBooleanNullableImpl<>(
        instance.inner(),
        Objects::isNull
    );
    final ToBooleanNullable<String> isNullSame = new ToBooleanNullableImpl<>(
        string -> string.length() > 2,
        instance.isNullPredicate()
    );
    assertTrue(instance.equals(another));
    assertFalse(instance.equals(originalSame));
    assertFalse(instance.equals(isNullSame));
}