### Question:
OvernightFutureTradeCalculations { public CurrencyScenarioArray presentValue( ResolvedOvernightFutureTrade trade, RatesMarketDataLookup lookup, ScenarioMarketData marketData) { return calc.presentValue(trade, lookup.marketDataView(marketData)); } OvernightFutureTradeCalculations(
      DiscountingOvernightFutureTradePricer tradePricer); CurrencyScenarioArray presentValue(
      ResolvedOvernightFutureTrade trade,
      RatesMarketDataLookup lookup,
      ScenarioMarketData marketData); CurrencyAmount presentValue(
      ResolvedOvernightFutureTrade trade,
      RatesProvider ratesProvider); MultiCurrencyScenarioArray pv01CalibratedSum(
      ResolvedOvernightFutureTrade trade,
      RatesMarketDataLookup lookup,
      ScenarioMarketData marketData); MultiCurrencyAmount pv01CalibratedSum(
      ResolvedOvernightFutureTrade trade,
      RatesProvider ratesProvider); ScenarioArray<CurrencyParameterSensitivities> pv01CalibratedBucketed(
      ResolvedOvernightFutureTrade trade,
      RatesMarketDataLookup lookup,
      ScenarioMarketData marketData); CurrencyParameterSensitivities pv01CalibratedBucketed(
      ResolvedOvernightFutureTrade trade,
      RatesProvider ratesProvider); MultiCurrencyScenarioArray pv01MarketQuoteSum(
      ResolvedOvernightFutureTrade trade,
      RatesMarketDataLookup lookup,
      ScenarioMarketData marketData); MultiCurrencyAmount pv01MarketQuoteSum(
      ResolvedOvernightFutureTrade trade,
      RatesProvider ratesProvider); ScenarioArray<CurrencyParameterSensitivities> pv01MarketQuoteBucketed(
      ResolvedOvernightFutureTrade trade,
      RatesMarketDataLookup lookup,
      ScenarioMarketData marketData); CurrencyParameterSensitivities pv01MarketQuoteBucketed(
      ResolvedOvernightFutureTrade trade,
      RatesProvider ratesProvider); DoubleScenarioArray parSpread(
      ResolvedOvernightFutureTrade trade,
      RatesMarketDataLookup lookup,
      ScenarioMarketData marketData); double parSpread(
      ResolvedOvernightFutureTrade trade,
      RatesProvider ratesProvider); DoubleScenarioArray unitPrice(
      ResolvedOvernightFutureTrade trade,
      RatesMarketDataLookup lookup,
      ScenarioMarketData marketData); double unitPrice(
      ResolvedOvernightFutureTrade trade,
      RatesProvider ratesProvider); static final OvernightFutureTradeCalculations DEFAULT; }### Answer:
@Test public void test_presentValue() { CurrencyAmount expected = TRADE_PRICER.presentValue(RESOLVED_TRADE, RATES_PROVIDER, SETTLEMENT_PRICE); assertThat(CALC.presentValue(RESOLVED_TRADE, RATES_LOOKUP, MARKET_DATA)) .isEqualTo(CurrencyScenarioArray.of(ImmutableList.of(expected))); assertThat(CALC.presentValue(RESOLVED_TRADE, RATES_PROVIDER)).isEqualTo(expected); }