@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case -1203198113: // scenarioCount return ((SingleScenarioArray<?>) bean).getScenarioCount(); case 111972721: // value return ((SingleScenarioArray<?>) bean).getValue(); } return super.propertyGet(bean, propertyName, quiet); }
/** * Obtains an instance from a single value where the value applies to all scenarios. * * @param <T> the type of the value * @param scenarioCount the nnumber of scenarios * @param value the single value, used for all scenarios * @return an instance with the specified values */ public static <T> ScenarioArray<T> ofSingleValue(int scenarioCount, T value) { return SingleScenarioArray.of(scenarioCount, value); }
@Override public SingleScenarioArray<T> build() { return new SingleScenarioArray<>( scenarioCount, value); }
public void create() { SingleScenarioArray<String> test = SingleScenarioArray.of(3, "A"); assertEquals(test.getScenarioCount(), 3); assertEquals(test.getValue(), "A"); assertEquals(test.get(0), "A"); assertEquals(test.get(1), "A"); assertEquals(test.get(2), "A"); assertEquals(test.stream().collect(toList()), ImmutableList.of("A", "A", "A")); }
public void convertCurrencyAmount() { FxRateScenarioArray rates = FxRateScenarioArray.of(GBP, USD, DoubleArray.of(1.61, 1.62, 1.63)); ScenarioFxRateProvider fxProvider = new TestScenarioFxRateProvider(rates); SingleScenarioArray<CurrencyAmount> test = SingleScenarioArray.of(3, CurrencyAmount.of(GBP, 2)); ScenarioArray<?> convertedList = test.convertedTo(USD, fxProvider); List<CurrencyAmount> expectedValues = ImmutableList.of( CurrencyAmount.of(USD, 2 * 1.61), CurrencyAmount.of(USD, 2 * 1.62), CurrencyAmount.of(USD, 2 * 1.63)); DefaultScenarioArray<CurrencyAmount> expectedList = DefaultScenarioArray.of(expectedValues); assertThat(convertedList).isEqualTo(expectedList); }
public void test_ofSingleValue() { ScenarioArray<String> test = ScenarioArray.ofSingleValue(3, "aaa"); SingleScenarioArray<String> expected = SingleScenarioArray.of(3, "aaa"); assertEquals(test, expected); }
/** * Obtains an instance from a single value and scenario count. * <p> * The single value is valid for each scenario. * * @param <T> the type of the value * @param scenarioCount the number of scenarios * @param value the single value valid for all scenarios * @return an instance with the specified value and count */ public static <T> SingleScenarioArray<T> of(int scenarioCount, T value) { return new SingleScenarioArray<>(scenarioCount, value); }