Example #1
0
  public void testNper() {
    double f, r, y, p, x, n;
    boolean t;

    r = 0;
    y = 7;
    p = 2;
    f = 3;
    t = false;
    n = Vba.nPer(r, y, p, f, t);
    // can you believe it? excel returns nper as a fraction!??
    x = -0.71428571429;
    assertEquals(x, n, 1e-10);

    // cross check with pv
    r = 1;
    y = 100;
    p = -109.66796875;
    f = 10000;
    t = false;
    n = Vba.nPer(r, y, p, f, t);
    x = 10;
    assertEquals(x, n, 1e-12);

    r = 1;
    y = 100;
    p = -209.5703125;
    f = 10000;
    t = true;
    n = Vba.nPer(r, y, p, f, t);
    x = 10;
    assertEquals(x, n, 1e-14);

    // cross check with fv
    r = 2;
    y = 120;
    f = -6409178400d;
    p = 12000;
    t = false;
    n = Vba.nPer(r, y, p, f, t);
    x = 12;
    assertEquals(x, n, SMALL);

    r = 2;
    y = 120;
    f = -6472951200d;
    p = 12000;
    t = true;
    n = Vba.nPer(r, y, p, f, t);
    x = 12;
    assertEquals(x, n, SMALL);
  }