Пример #1
0
        public void TestPv()
        {
            double f, r, y, p, x;
            int    n;
            bool   t = false;

            r = 0; n = 3; y = 2; f = 7; t = true;
            f = FinanceLib.pv(r, n, y, f, t);
            x = -13;
            Assert.AreEqual(x, f, "pv ");

            r = 1; n = 10; y = 100; f = 10000; t = false;
            p = FinanceLib.pv(r, n, y, f, t);
            x = -109.66796875;
            Assert.AreEqual(x, p, "pv ");

            r = 1; n = 10; y = 100; f = 10000; t = true;
            p = FinanceLib.pv(r, n, y, f, t);
            x = -209.5703125;
            Assert.AreEqual(x, p, "pv ");

            r = 2.95; n = 13; y = 13000; f = 333891.23; t = false;
            p = FinanceLib.pv(r, n, y, f, t);
            x = -4406.78544294496;
            Assert.AreEqual(x, p, 0.0000001);

            r = 2.95; n = 13; y = 13000; f = 333891.23; t = true;
            p = FinanceLib.pv(r, n, y, f, t);
            x = -17406.7852148156;
            Assert.AreEqual(x, p, 0.0000001);

            // cross tests with fv
            r = 2; n = 12; y = 120; f = -6409178400d; t = false;
            p = FinanceLib.pv(r, n, y, f, t);
            x = 12000;
            Assert.AreEqual(x, p, "pv ");

            r = 2; n = 12; y = 120; f = -6472951200d; t = true;
            p = FinanceLib.pv(r, n, y, f, t);
            x = 12000;
            Assert.AreEqual(x, p, "pv ");
        }
Пример #2
0
 public override double Evaluate(double rate, double arg1, double arg2, double arg3, bool type)
 {
     return(FinanceLib.pv(rate, arg1, arg2, arg3, type));
 }