@Override
    public boolean equals(final Object o) {
        if (o == this)
            return true;
        if (o == null || o.getClass() != getClass())
            return false;
        final MonetaryFormat other = (MonetaryFormat) o;
        if (!Objects.equals(this.negativeSign, other.negativeSign))
            return false;
        if (!Objects.equals(this.positiveSign, other.positiveSign))
            return false;
        if (!Objects.equals(this.zeroDigit, other.zeroDigit))
            return false;
        if (!Objects.equals(this.decimalMark, other.decimalMark))
            return false;
        if (!Objects.equals(this.minDecimals, other.minDecimals))
            return false;
        if (!Objects.equals(this.decimalGroups, other.decimalGroups))
            return false;
        if (!Objects.equals(this.shift, other.shift))
            return false;
        if (!Objects.equals(this.roundingMode, other.roundingMode))
            return false;
        if (!Arrays.equals(this.codes, other.codes))
            return false;
        if (!Objects.equals(this.codeSeparator, other.codeSeparator))
            return false;
        if (!Objects.equals(this.codePrefixed, other.codePrefixed))
            return false;
        return true;
    }
@Test
    public void testEquals() {
        MonetaryFormat mf1 = new MonetaryFormat(true);
        MonetaryFormat mf2 = new MonetaryFormat(true);
        assertEquals(mf1, mf2);
    }