public void requirements() { MarketDataFeed marketDataFeed = MarketDataFeed.of("MarketDataVendor"); MarketDataMappings marketDataMappings = DefaultMarketDataMappings.builder() .mappings(ImmutableMap.of(TestKey.class, new TestMapping("foo"))) .marketDataFeed(marketDataFeed) .build(); CalculationTask task = new CalculationTask( new TestTarget(), 0, 0, new TestFunction(), marketDataMappings, ReportingRules.empty()); MarketDataRequirements requirements = task.requirements(); Set<? extends MarketDataId<?>> nonObservables = requirements.getNonObservables(); ImmutableSet<? extends ObservableId> observables = requirements.getObservables(); ImmutableSet<ObservableId> timeSeries = requirements.getTimeSeries(); MarketDataId<?> timeSeriesId = TestObservableKey.of("3").toMarketDataId(marketDataFeed); assertThat(timeSeries).hasSize(1); assertThat(timeSeries.iterator().next()).isEqualTo(timeSeriesId); MarketDataId<?> nonObservableId = TestId.of("1"); assertThat(nonObservables).hasSize(1); assertThat(nonObservables.iterator().next()).isEqualTo(nonObservableId); MarketDataId<?> observableId = TestObservableKey.of("2").toMarketDataId(marketDataFeed); assertThat(observables).hasSize(1); assertThat(observables.iterator().next()).isEqualTo(observableId); }
@Override public FunctionRequirements requirements(TestTarget target) { return FunctionRequirements.builder() .singleValueRequirements(ImmutableSet.of(TestKey.of("1"), TestObservableKey.of("2"))) .timeSeriesRequirements(TestObservableKey.of("3")) .build(); }