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 "); }
public override double Evaluate(double rate, double arg1, double arg2, double arg3, bool type) { return(FinanceLib.pv(rate, arg1, arg2, arg3, type)); }