assertj / assertj-assertions-generator

Custom assertions generator
https://joel-costigliola.github.io/assertj/assertj-assertions-generator.html
Apache License 2.0
62 stars 42 forks source link

Support special objectAssertion templates for specific property types #204

Open lhannest opened 2 years ago

lhannest commented 2 years ago

For example, I would like custom assertions for BigDecimal only like: has${Property}Of(Number value)

public ${self_type} has${Property}Of(Number n) ${throws}{
    if (new BigDecimal(n.toString()).compareTo(actual.${property}) != 0) {
        throw new AssertionError("expected " + n + " but got " + actual.${property});
    }
}

So then I can do:

PersonAssert.hasHeightOf(5);

Instead of

PersonAssert.hasHeightOf(BigDecimal.valueOf(5));

And of course I wouldn't want it to also generate PersonAssert.hasNameOf(Number n);.

So it would be nice to be able to specify a template just for BigDecimal property types. And I assume that this could be generalized to any property type.