### Question:
DiscountingBulletPaymentTradePricer { public CurrencyAmount currentCash(ResolvedBulletPaymentTrade trade, BaseProvider provider) { return paymentPricer.currentCash(trade.getProduct().getPayment(), provider); } DiscountingBulletPaymentTradePricer(
      DiscountingPaymentPricer paymentPricer); DiscountingPaymentPricer getPaymentPricer(); CurrencyAmount presentValue(ResolvedBulletPaymentTrade trade, BaseProvider provider); ExplainMap explainPresentValue(ResolvedBulletPaymentTrade trade, BaseProvider provider); PointSensitivities presentValueSensitivity(ResolvedBulletPaymentTrade trade, BaseProvider provider); CashFlows cashFlows(ResolvedBulletPaymentTrade trade, BaseProvider provider); CurrencyAmount currencyExposure(ResolvedBulletPaymentTrade trade, BaseProvider provider); CurrencyAmount currentCash(ResolvedBulletPaymentTrade trade, BaseProvider provider); static final DiscountingBulletPaymentTradePricer DEFAULT; }### Answer:
@Test public void test_currentCash_onDate() { SimpleRatesProvider prov = new SimpleRatesProvider(PAYMENT_DATE, DISCOUNT_FACTORS); assertThat(PRICER.currentCash(TRADE, prov)).isEqualTo(AMOUNT); }
@Test public void test_currentCash_past() { assertThat(PRICER.currentCash(TRADE_PAST, PROVIDER)).isEqualTo(CurrencyAmount.zero(USD)); }