@Override public ScenarioArray<?> convertedTo(Currency resultCurrency, ScenarioFxRateProvider fxRateProvider) { int scenarioCount = getScenarioCount(); if (fxRateProvider.getScenarioCount() != scenarioCount) { throw new IllegalArgumentException(Messages.format( "Expected {} FX rates but received {}", scenarioCount, fxRateProvider.getScenarioCount())); } ImmutableList<Object> converted = zipWithIndex(values.stream()) .map(tp -> convert(resultCurrency, fxRateProvider, tp.getFirst(), tp.getSecond())) .collect(toImmutableList()); return DefaultScenarioArray.of(converted); }
public void create() { DefaultScenarioArray<Integer> test = DefaultScenarioArray.of(1, 2, 3); assertThat(test.getValues()).isEqualTo(ImmutableList.of(1, 2, 3)); assertThat(test.getScenarioCount()).isEqualTo(3); assertThat(test.get(0)).isEqualTo(1); assertThat(test.get(1)).isEqualTo(2); assertThat(test.get(2)).isEqualTo(3); assertThat(test.stream().collect(toList())).isEqualTo(ImmutableList.of(1, 2, 3)); }
public void create_withFunction() { DefaultScenarioArray<Integer> test = DefaultScenarioArray.of(3, i -> (i + 1)); assertThat(test.getValues()).isEqualTo(ImmutableList.of(1, 2, 3)); assertThat(test.getScenarioCount()).isEqualTo(3); assertThat(test.get(0)).isEqualTo(1); assertThat(test.get(1)).isEqualTo(2); assertThat(test.get(2)).isEqualTo(3); assertThat(test.stream().collect(toList())).isEqualTo(ImmutableList.of(1, 2, 3)); }