### Question:
ReportingCurrency implements ImmutableBean, Serializable { public static ReportingCurrency of(Currency currency) { return new ReportingCurrency(ReportingCurrencyType.SPECIFIC, currency); } private  ReportingCurrency(
      ReportingCurrencyType type,
      Currency currency); static ReportingCurrency of(Currency currency); boolean isSpecific(); boolean isNatural(); boolean isNone(); Currency getCurrency(); @Override String toString(); static ReportingCurrency.Meta meta(); @Override ReportingCurrency.Meta metaBean(); ReportingCurrencyType getType(); @Override boolean equals(Object obj); @Override int hashCode(); static final ReportingCurrency NATURAL; static final ReportingCurrency NONE; }### Answer:
@Test public void coverage() { ReportingCurrency test = ReportingCurrency.NATURAL; coverImmutableBean(test); ReportingCurrency test2 = ReportingCurrency.of(USD); coverBeanEquals(test, test2); coverEnum(ReportingCurrencyType.class); }
@Test public void test_serialization() { assertSerialization(ReportingCurrency.NATURAL); assertSerialization(ReportingCurrency.of(USD)); }