Results 98 comments of andreoss

A `Diff` which is `Set` should be implemented prior to that

@victornoel They are usefull for implementing `Collection` interfaces. Though I though it could be a start to bringing better marchers for `Iterable` and `Map` interfaces to `cactoos-matchers`. Currently we have...

@victornoel We could reimplement `Satisfies` to not use `MatcherOf` and cache `extractor` return value. And reimplement `HasValue` with `Satisfies`. ``` public HasValue(final Matcher mtr) { super(new Satisfies("Scalar with ", Scalar::value,...

@victornoel The other way to archive this is to change `Assertion` (https://github.com/llorllale/cactoos-matchers/issues/156). `new AssertThat(() -> value, matcher)` - now `AssertThat` evaluates scalar, and `matcher` validates scalar's value.

This issue was also brought up here https://github.com/yegor256/cactoos/pull/1485#discussion_r515449483 @fabriciofx Testing for `equals` & `hashCode` breaks `TextIs` for implementations that are not based upon `TextEnvelope` + `TextOf`, in cactoos it's `text.Sticky`....

@paulodamaso @llorllale Ready to implement if green-lighted.

@victornoel Not sure if directly related to this discussion, but the problem I see with `new Assertion(..)affirm()` is that one has to call `affirm()` method explicitly (which is an easy...

> it is also enforced in qulice that there should be a message passed to assertions @victornoel It is forced by `forbidden-apis` @fabriciofx There could be a different `Assertion` for...

@llorllale Good point, though it depends on how readable the output of matcher `AllOf`will be I was suggesting junit's approach https://github.com/junit-team/junit5/blob/main/junit-jupiter-api/src/main/java/org/junit/jupiter/api/Assertions.java#L2910 https://github.com/junit-team/junit5/blob/main/junit-jupiter-api/src/main/java/org/junit/jupiter/api/AssertAll.java