public void DdToDDM_NW_Test() { var sccm = new SanClementeCoordinatesModel(); var ddm = new DDMCoordinate( sccm.DegreesLat, sccm.DegreesLon ); string expectedResult = SanClementeCoordinatesModel.StrDDM(); int expectedLength = expectedResult.Length; string actualResult = ddm.ToString(); int actualLength = actualResult.Length; decimal latDiff = Math.Abs(ddm.GetShortDegreesLat() - Math.Truncate(sccm.DegreesLat)); decimal lonDiff = Math.Abs(ddm.GetShortDegreesLon() - Math.Truncate(sccm.DegreesLon)); decimal latMinsDiff = Math.Abs(ddm.GetMinsLat() - sccm.DdmMinsLat); decimal lonMinsDiff = Math.Abs(ddm.GetMinsLon() - sccm.DdmMinsLon); var dict = new Dictionary <string, decimal> { { "latDiff", latDiff }, { "lonDiff", lonDiff }, { "latMinsDiff", latMinsDiff }, { "lonMinsDiff", lonMinsDiff } }; DisplayOutput(expectedResult, actualResult, dict); Assert.AreEqual(expectedLength, actualLength); Assert.IsTrue(latDiff >= 0 && latDiff <= DegreeAccuracyThreshold); Assert.IsTrue(latMinsDiff >= 0 && latMinsDiff <= LatMinsAccuracyThreshold); Assert.IsTrue(lonDiff >= 0 && lonDiff <= DegreeAccuracyThreshold); Assert.IsTrue(lonMinsDiff >= 0 && lonMinsDiff <= LonMinsAccuracyThreshold); }
public void ConvertGridsquareToDDMTestNW() { var sccm = new SanClementeCoordinatesModel(); var cc = new GridDdmExpert(); string gridsquare = SanClementeCoordinatesModel.StrGridsquare(); var expectedResult = new DDMCoordinate(sccm.DegreesLat, sccm.DdmMinsLat, sccm.DegreesLon, sccm.DdmMinsLon); DDMCoordinate actualResult = cc.ConvertGridsquareToDDM(gridsquare); decimal latDiff = Math.Abs(expectedResult.GetShortDegreesLat() - actualResult.GetShortDegreesLat()); decimal lonDiff = Math.Abs(expectedResult.GetShortDegreesLon() - actualResult.GetShortDegreesLon()); decimal latMinsDiff = Math.Abs(expectedResult.GetMinsLat() - actualResult.GetMinsLat()); decimal lonMinsDiff = Math.Abs(expectedResult.GetMinsLon() - actualResult.GetMinsLon()); var dict = new Dictionary <string, decimal> { { "latDiff", latDiff }, { "lonDiff", lonDiff }, { "latMinsDiff", latMinsDiff }, { "lonMinsDiff", lonMinsDiff } }; DisplayOutput(expectedResult.ToString(), actualResult.ToString(), dict); Assert.IsTrue(latDiff >= 0 && latDiff <= DegreeAccuracyThreshold); Assert.IsTrue(latMinsDiff >= 0 && latMinsDiff <= LatMinsAccuracyThreshold); Assert.IsTrue(lonDiff >= 0 && lonDiff <= DegreeAccuracyThreshold); Assert.IsTrue(lonMinsDiff >= 0 && lonMinsDiff <= LonMinsAccuracyThreshold); }
public void ExtractPolarityEWTest() { int expectedPositiveResult = 1; int expectedNegativeResult = -1; int expectedZeroResult = 0; short actualPositiveResult = ConversionHelper.ExtractPolarityEW(MunichCoordinatesModel.StrDDM()); short actualNegativeResult = ConversionHelper.ExtractPolarityEW(SanClementeCoordinatesModel.StrDDM()); short actualZeroResult = ConversionHelper.ExtractPolarityEW(string.Empty); Assert.AreEqual(expectedPositiveResult, actualPositiveResult); Assert.AreEqual(expectedNegativeResult, actualNegativeResult); Assert.AreEqual(expectedZeroResult, actualZeroResult); }
public void CTOR_DmsStringToDMS_Test() { string expectedResult = SanClementeCoordinatesModel.StrDMS(); var dms = new DMSCoordinate(expectedResult); string actualResult = dms.ToString(); DisplayOutput(expectedResult, actualResult, new Dictionary <string, decimal>()); int expectedCount = expectedResult.Length; int actualCount = actualResult.Length; Assert.AreEqual(expectedCount, actualCount); }
public void ConvertDDMtoGridsquareTest_NW() { var sccm = new SanClementeCoordinatesModel(); decimal degreesLat = Math.Truncate(sccm.DegreesLat); decimal degreesLon = Math.Truncate(sccm.DegreesLon); decimal minutesLat = sccm.DdmMinsLat; decimal minutesLon = sccm.DdmMinsLon; var ddm = new DDMCoordinate(degreesLat, minutesLat, degreesLon, minutesLon); var cc = new GridDdmExpert(); string expectedResult = SanClementeCoordinatesModel.StrGridsquare(); string actualResult = cc.ConvertDDMtoGridsquare(ddm); Assert.AreEqual(expectedResult, actualResult); }
public void GetSecondsLongitude() { var sccm = new SanClementeCoordinatesModel(); var dms = new DMSCoordinate(sccm.DegreesLat, sccm.DegreesLon); decimal expectedSecLons = dms.GetSecondsLongitude(); decimal secondsLon = dms.GetSecondsLongitude(); decimal secondsLonDiff = Math.Abs(Math.Truncate(sccm.DmsSecondsLon) - secondsLon); var dict = new Dictionary <string, decimal> { { "secondsLonDiff", 0m } }; DisplayOutput(expectedSecLons.ToString(), secondsLon.ToString(), dict); Assert.IsTrue(secondsLonDiff <= 1m); }
public void CTOR_DDtoDMS_NW_Test() { var sccm = new SanClementeCoordinatesModel(); decimal ddLat = sccm.DegreesLat; decimal ddLon = sccm.DegreesLon; var dms = new DMSCoordinate(ddLat, ddLon); string expectedResult = LynnwoodCoordinatesModel.StrDMS(); string actualResult = dms.ToString(); decimal latDiff = Math.Abs(dms.GetShortDegreesLat() - Math.Truncate(sccm.DegreesLat)); decimal lonDiff = Math.Abs(dms.GetShortDegreesLon() - Math.Truncate(sccm.DegreesLon)); decimal latMinsDiff = Math.Abs(dms.GetShortMinutesLattitude() - Math.Truncate(sccm.DdmMinsLat)); decimal lonMinsDiff = Math.Abs(dms.GetShortMinutesLongitude() - Math.Truncate(sccm.DdmMinsLon)); decimal latSecsDiff = Math.Abs(dms.GetSecondsLattitude() - sccm.DmsSecondsLat); decimal lonSecsDiff = Math.Abs(dms.GetSecondsLongitude() - sccm.DmsSecondsLon); var dict = new Dictionary <string, decimal> { { "latDiff", latDiff }, { "lonDiff", lonDiff }, { "latMinsDiff", latMinsDiff }, { "lonMinsDiff", lonMinsDiff }, { "latSecsDiff", latSecsDiff }, { "lonSecsDiff", lonSecsDiff } }; DisplayOutput(expectedResult, actualResult, dict); Assert.IsTrue(latDiff >= 0 && latDiff <= 0.0001m); Assert.IsTrue(latMinsDiff >= 0 && latMinsDiff <= 0.1m); Assert.IsTrue(latSecsDiff >= 0 && latSecsDiff <= 1.0m); Assert.IsTrue(lonDiff >= 0 && lonDiff <= 0.0001m); Assert.IsTrue(lonMinsDiff >= 0 && lonMinsDiff <= 0.1m); Assert.IsTrue(lonSecsDiff >= 0 && lonSecsDiff <= 1.0m); }