package org.javamoney.calc.securities; import static junit.framework.Assert.assertEquals; import org.javamoney.calc.common.Rate; import org.javamoney.moneta.Money; import org.junit.Test; /** * @author Manuela Grindei */ public class StockPresentValueTest { private static final Money ESTIMATED_DIVIDENDS = Money.of(34, "GBP"); private static final Rate REQUIRED_RATE_OF_RETURN = Rate.of(0.05); private static final Rate GROWTH_RATE = Rate.of(0.03); @Test public void testCalculateForConstantGrowth() { assertEquals(Money.of(1700, "GBP"), StockPresentValue.calculateForConstantGrowth(ESTIMATED_DIVIDENDS, REQUIRED_RATE_OF_RETURN, GROWTH_RATE)); } @Test public void testCalculateForZeroGrowth() { assertEquals(Money.of(680, "GBP"), StockPresentValue.calculateForZeroGrowth(ESTIMATED_DIVIDENDS, REQUIRED_RATE_OF_RETURN)); } @Test public void testApply() { assertEquals(Money.of(1700, "GBP"), ESTIMATED_DIVIDENDS.with(StockPresentValue.of(REQUIRED_RATE_OF_RETURN, GROWTH_RATE))); } }