Ejemplo n.º 1
0
        public void PointToPointTests()
        {
            var itm = new IrregularTerrainModel();

            foreach (var p in GetPointToPointModels())
            {
                var e = new double[p.Elevations.Length + 2];
                e[0] = p.Elevations.Length - 1;
                e[1] = p.Distance / e[0];
                p.Elevations.CopyTo(e, 2);
                point_to_pointMDH(e, p.Transmitter.Height, p.Receiver.Height, p.GroundDielectric, p.GroundConductivity, p.SurfaceRefractivity, p.Frequency, (int)p.Climate, (int)p.Polarization, (int)p.Variability.Mode, p.Variability.Time, p.Variability.Location, p.Variability.Confidence,
                                  out var dbloss0, out var propMode0, out var deltaH0, out var errnum0);

#if DEBUG
                itm.UseOriginal = true;
                itm.PointToPoint(p);

                Assert.AreEqual(dbloss0, p.DbLoss, delta);
                Assert.AreEqual(propMode0, (int)p.PropMode);
                Assert.AreEqual(deltaH0, p.DeltaH, delta);
                Assert.AreEqual(errnum0, p.ErrorIndicator);

                itm.UseOriginal = false;
#endif
                itm.PointToPoint(p);

                Assert.AreEqual(dbloss0, p.DbLoss, delta);
                Assert.AreEqual((int)propMode0, (int)p.PropMode);
                Assert.AreEqual(deltaH0, p.DeltaH, delta);
                Assert.AreEqual(errnum0, p.ErrorIndicator);
            }
        }
Ejemplo n.º 2
0
        public void AreaTests()
        {
            var itm = new IrregularTerrainModel();

            foreach (var p in GetAreaModels())
            {
                area((int)p.Variability.Mode, p.DeltaH, p.Transmitter.Height, p.Receiver.Height, p.Distance, (int)p.Transmitter.SiteCriteria,
                     (int)p.Receiver.SiteCriteria, p.GroundDielectric, p.GroundConductivity, p.SurfaceRefractivity, p.Frequency,
                     (int)p.Climate, (int)p.Polarization, p.Variability.Time, p.Variability.Location, p.Variability.Confidence, out var dbloss0,
                     IntPtr.Zero,
                     out var errnum0);

#if DEBUG
                itm.UseOriginal = true;
                itm.Area(p);

                Assert.AreEqual(dbloss0, p.DbLoss, delta);
                Assert.AreEqual(errnum0, p.ErrorIndicator);

                itm.UseOriginal = false;
#endif
                itm.Area(p);

                Assert.AreEqual(dbloss0, p.DbLoss, delta);
                Assert.AreEqual(errnum0, p.ErrorIndicator);
            }
        }