public void testNpv() { double r, v[], npv, x; r = 1; v = new double[] {100, 200, 300, 400}; npv = Vba.nPV(r, v); x = 162.5; assertEquals(x, npv); r = 2.5; v = new double[] {1000, 666.66666, 333.33, 12.2768416}; npv = Vba.nPV(r, v); x = 347.99232604144827; assertEquals(x, npv, SMALL); r = 12.33333; v = new double[] {1000, 0, -900, -7777.5765}; npv = Vba.nPV(r, v); x = 74.3742433377061; assertEquals(x, npv, 1e-12); r = 0.05; v = new double[] {200000, 300000.55, 400000, 1000000, 6000000, 7000000, -300000}; npv = Vba.nPV(r, v); x = 11342283.4233124; assertEquals(x, npv, 1e-8); }