### Question:
CurrencyScenarioArray implements ScenarioArray<CurrencyAmount>, ScenarioFxConvertible<CurrencyScenarioArray>, ImmutableBean, Serializable { public CurrencyScenarioArray minus(CurrencyScenarioArray other) { return CurrencyScenarioArray.of(amounts.minus(other.amounts)); } private  CurrencyScenarioArray(
      CurrencyAmountArray amounts); static CurrencyScenarioArray of(CurrencyAmountArray amounts); static CurrencyScenarioArray of(Currency currency, DoubleArray values); static CurrencyScenarioArray of(List<CurrencyAmount> amounts); static CurrencyScenarioArray of(int size, IntFunction<CurrencyAmount> amountFunction); Currency getCurrency(); @Override int getScenarioCount(); @Override CurrencyAmount get(int index); @Override Stream<CurrencyAmount> stream(); @Override CurrencyScenarioArray convertedTo(Currency reportingCurrency, ScenarioFxRateProvider fxRateProvider); CurrencyScenarioArray plus(CurrencyScenarioArray other); CurrencyScenarioArray plus(CurrencyAmount amount); CurrencyScenarioArray minus(CurrencyScenarioArray other); CurrencyScenarioArray minus(CurrencyAmount amount); static CurrencyScenarioArray.Meta meta(); @Override CurrencyScenarioArray.Meta metaBean(); CurrencyAmountArray getAmounts(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void minus() { CurrencyScenarioArray currencyScenarioArray = CurrencyScenarioArray.of(GBP, DoubleArray.of(1, 2, 3)); CurrencyScenarioArray arrayToSubtract = CurrencyScenarioArray.of(GBP, DoubleArray.of(3, 2, 1)); CurrencyScenarioArray minusArrayResult = currencyScenarioArray.minus(arrayToSubtract); assertThat(minusArrayResult).isEqualTo(CurrencyScenarioArray.of(GBP, DoubleArray.of(-2, 0, 2))); CurrencyAmount amountToSubtract = CurrencyAmount.of(Currency.GBP, 2); CurrencyScenarioArray minusAmountResult = currencyScenarioArray.minus(amountToSubtract); assertThat(minusAmountResult).isEqualTo(CurrencyScenarioArray.of(GBP, DoubleArray.of(-1, 0, 1))); }