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);
 }