VAT implements ValueObject { @Override public String toString() { return String.format("%d %%", percentage); } @JsonCreator  VAT(int percentage); static VAT valueOf(Integer percentage); @JsonValue int toInteger(); double toDouble(); @NonNull Money addTax(@NonNull Money amount); @NonNull Money subtractTax(@NonNull Money amount); @NonNull Money calculateTax(@NonNull Money amount); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public void toString_returnedAsFormattedString() { assertThat(new VAT(24).toString()).isEqualTo("24 %"); }