### Question:
MultiCurrencyAmountArray implements FxConvertible<CurrencyAmountArray>, ImmutableBean, Serializable { public static MultiCurrencyAmountArray of(MultiCurrencyAmount... amounts) { return of(Arrays.asList(amounts)); } @ImmutableConstructor private  MultiCurrencyAmountArray(int size, Map<Currency, DoubleArray> values); static MultiCurrencyAmountArray of(MultiCurrencyAmount... amounts); static MultiCurrencyAmountArray of(List<MultiCurrencyAmount> amounts); static MultiCurrencyAmountArray of(int size, IntFunction<MultiCurrencyAmount> valueFunction); static MultiCurrencyAmountArray of(Map<Currency, DoubleArray> values); Set<Currency> getCurrencies(); DoubleArray getValues(Currency currency); int size(); MultiCurrencyAmount get(int index); Stream<MultiCurrencyAmount> stream(); @Override CurrencyAmountArray convertedTo(Currency resultCurrency, FxRateProvider fxRateProvider); MultiCurrencyAmountArray plus(MultiCurrencyAmountArray other); MultiCurrencyAmountArray plus(MultiCurrencyAmount amount); MultiCurrencyAmountArray minus(MultiCurrencyAmountArray other); MultiCurrencyAmountArray minus(MultiCurrencyAmount amount); static MultiCurrencyAmountArray total(Iterable<CurrencyAmountArray> arrays); static Collector<CurrencyAmountArray, ?, MultiCurrencyAmountArray> toMultiCurrencyAmountArray(); static MultiCurrencyAmountArray.Meta meta(); @Override MultiCurrencyAmountArray.Meta metaBean(); int getSize(); ImmutableSortedMap<Currency, DoubleArray> getValues(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { coverImmutableBean(VALUES_ARRAY); MultiCurrencyAmountArray test2 = MultiCurrencyAmountArray.of( MultiCurrencyAmount.of( CurrencyAmount.of(Currency.GBP, 21), CurrencyAmount.of(Currency.USD, 31), CurrencyAmount.of(Currency.EUR, 41)), MultiCurrencyAmount.of( CurrencyAmount.of(Currency.GBP, 22), CurrencyAmount.of(Currency.USD, 33), CurrencyAmount.of(Currency.EUR, 44))); coverBeanEquals(VALUES_ARRAY, test2); }