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