public void FirstTest() { double x0 = 0.0; double x1 = 10.0; double x2 = 8.0; double x3 = 2.0; double y0 = 0.0; double y1 = 1.0; double y2 = 8.0; double y3 = 9.0; double z0 = -10.0; double z1 = -7.0; double z2 = -8.0; double z3 = -12.0; double x = 5.0; double y = 5.0; InterpQuadrangle interpolator = new InterpQuadrangle() { DelVal = d }; InterpQuadrangle.Weights weights = InterpQuadrangle.InterpolationWeights(x, y, x0, y0, x1, y1, x2, y2, x3, y3); double value = interpolator.GetValue(weights, z0, z1, z2, z3); Assert.AreEqual(-9.34375, value); }
void DeleteValueTest(bool valOk, double x, double y, double z0, double z1, double z2, double z3, bool sdc = true) { InterpQuadrangle interpolator = new InterpQuadrangle() { DelVal = d, SmoothDeleteChop = sdc }; InterpQuadrangle.Weights weights = InterpQuadrangle.InterpolationWeights(x, y, 0, 0, 10, 0, 10, 10, 0, 10); double val = interpolator.GetValue(weights, z0, z1, z2, z3); if (valOk) { Assert.AreNotEqual(d, val); } else { Assert.AreEqual(d, val); } }
void WeightTest(double x, double y) { InterpQuadrangle.Weights interp = InterpQuadrangle.InterpolationWeights(x, y, 0, 0, 10, 0, 10, 10, 0, 10); Assert.AreEqual(x * 0.1, interp.dx, 1e-12); Assert.AreEqual(y * 0.1, interp.dy, 1e-12); }