A problem with hamcrest matchers is having one class for `assertThat(x, matcher)` and one for `assertThat(x, not(matcher))`. For example: https://github.com/assertj/assertj-migrator/blob/main/src/main/java/com/slinkydeveloper/assertjmigrator/migrations/hamcrest/HamcrestAssertThatContainsString.java and https://github.com/assertj/assertj-migrator/blob/main/src/main/java/com/slinkydeveloper/assertjmigrator/migrations/hamcrest/HamcrestAssertThatNotContainsString.java. I think we can easily improve by creating a base class for hamcrest migrations where the abstract methods are similar to these ones: https://github.com/assertj/assertj-migrator/blob/main/src/main/java/com/slinkydeveloper/assertjmigrator/migrations/common/PredicateMigrator.java#L73
A problem with hamcrest matchers is having one class for
assertThat(x, matcher)and one forassertThat(x, not(matcher)). For example: https://github.com/assertj/assertj-migrator/blob/main/src/main/java/com/slinkydeveloper/assertjmigrator/migrations/hamcrest/HamcrestAssertThatContainsString.java and https://github.com/assertj/assertj-migrator/blob/main/src/main/java/com/slinkydeveloper/assertjmigrator/migrations/hamcrest/HamcrestAssertThatNotContainsString.java.I think we can easily improve by creating a base class for hamcrest migrations where the abstract methods are similar to these ones: https://github.com/assertj/assertj-migrator/blob/main/src/main/java/com/slinkydeveloper/assertjmigrator/migrations/common/PredicateMigrator.java#L73