package name.abuchen.portfolio.math; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; import java.time.LocalDate; import java.time.Month; import java.util.ArrayList; import java.util.Arrays; import org.junit.Test; public class NPVFunctionTest { @Test(expected = NullPointerException.class) public void testNullArguments() { new NPVFunction(null, null); } @Test(expected = UnsupportedOperationException.class) public void testInvalidArguments() { new NPVFunction(Arrays.asList(LocalDate.now()), new ArrayList<Double>()); } @Test(expected = UnsupportedOperationException.class) public void testEmptyArguments() { new NPVFunction(new ArrayList<LocalDate>(), new ArrayList<Double>()); } @Test public void testSimple() { NPVFunction f = new NPVFunction(Arrays.asList( // LocalDate.of(2010, Month.JANUARY, 1), // LocalDate.of(2010, Month.DECEMBER, 31)), // Arrays.asList(-200d, 210d)); assertThat(f.compute(0.05d), is(3965.669635841685d)); } }