Exemplo n.º 1
0
  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);
  }