public void DmsToDD_SE_Test() { var wcm = new WellingtonCoordinateModel(); var dd = new DDCoordinate( wcm.ShortDegreesLattitude(), wcm.DdmMinsLat, wcm.DmsSecondsLat, wcm.ShortDegreesLongitude(), wcm.DdmMinsLon, wcm.DmsSecondsLon ); string expectedResult = WellingtonCoordinateModel.StrDD(); int expectedLength = expectedResult.Length; string actualResult = dd.ToString(); int actualLength = actualResult.Length; decimal latDiff = Math.Abs(dd.GetLattitudeDD() - wcm.DegreesLat); decimal lonDiff = Math.Abs(dd.GetLongitudeDD() - wcm.DegreesLon); var dict = new Dictionary <string, decimal> { { "latDiff", latDiff }, { "lonDiff", lonDiff } }; DisplayOutput(expectedResult, actualResult, dict); Assert.AreEqual(expectedLength, actualLength); Assert.IsTrue(latDiff >= 0 && latDiff <= DegreeAccuracyThreshold); Assert.IsTrue(lonDiff >= 0 && lonDiff <= DegreeAccuracyThreshold); }
public void DdToDDM_SE_Test() { var wcm = new WellingtonCoordinateModel(); var ddm = new DDMCoordinate( wcm.DegreesLat, wcm.DegreesLon ); string expectedResult = WellingtonCoordinateModel.StrDDM(); int expectedLength = expectedResult.Length; string actualResult = ddm.ToString(); int actualLength = actualResult.Length; decimal latDiff = Math.Abs(ddm.GetShortDegreesLat() - Math.Truncate(wcm.DegreesLat)); decimal lonDiff = Math.Abs(ddm.GetShortDegreesLon() - Math.Truncate(wcm.DegreesLon)); decimal latMinsDiff = Math.Abs(ddm.GetMinsLat() - wcm.DdmMinsLat); decimal lonMinsDiff = Math.Abs(ddm.GetMinsLon() - wcm.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 ConvertGridsquareToDDMTestSW() { var cc = new GridDdmExpert(); string gridsquare = WellingtonCoordinateModel.StrGridsquare(); var expectedResult = new DDMCoordinate(WellingtonCoordinateModel.StrAttainableDDM()); 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 ExtractPolarityNSTest() { int expectedPositiveResult = 1; int expectedNegativeResult = -1; int expectedZeroResult = 0; short actualPositiveResult = ConversionHelper.ExtractPolarityNS(SanClementeCoordinatesModel.StrDDM()); short actualNegativeResult = ConversionHelper.ExtractPolarityNS(WellingtonCoordinateModel.StrDDM()); short actualZeroResult = ConversionHelper.ExtractPolarityNS(string.Empty); Assert.AreEqual(expectedPositiveResult, actualPositiveResult); Assert.AreEqual(expectedNegativeResult, actualNegativeResult); Assert.AreEqual(expectedZeroResult, actualZeroResult); }
public void ConvertDDMtoGridsquareTest_SE() { var wcm = new WellingtonCoordinateModel(); decimal degreesLat = Math.Truncate(wcm.DegreesLat); decimal degreesLon = Math.Truncate(wcm.DegreesLon); decimal minutesLat = wcm.DdmMinsLat; decimal minutesLon = wcm.DdmMinsLon; var ddm = new DDMCoordinate(degreesLat, minutesLat, degreesLon, minutesLon); var cc = new GridDdmExpert(); string expectedResult = WellingtonCoordinateModel.StrGridsquare(); string actualResult = cc.ConvertDDMtoGridsquare(ddm); Assert.AreEqual(expectedResult, actualResult); }
public void GetShortMinutesLongitudeTest() { var wcm = new WellingtonCoordinateModel(); var dms = new DMSCoordinate(wcm.DegreesLat, wcm.DegreesLon); decimal shortMinutesLon = dms.GetShortMinutesLongitude(); decimal minutesLonDiff = Math.Abs(Math.Truncate(wcm.DdmMinsLon) - shortMinutesLon); var dict = new Dictionary <string, decimal> { { "minutesLonDiff", minutesLonDiff } }; DisplayOutput("17", shortMinutesLon.ToString(), dict); Assert.IsTrue(minutesLonDiff <= 0.1m); }
public void CTOR_DDtoDMS_SE_Test() { var wcm = new WellingtonCoordinateModel(); decimal ddLat = wcm.DegreesLat; decimal ddLon = wcm.DegreesLon; var dms = new DMSCoordinate(ddLat, ddLon); string expectedResult = LynnwoodCoordinatesModel.StrDMS(); string actualResult = dms.ToString(); decimal latDiff = Math.Abs(dms.GetShortDegreesLat() - Math.Truncate(wcm.DegreesLat)); decimal lonDiff = Math.Abs(dms.GetShortDegreesLon() - Math.Truncate(wcm.DegreesLon)); decimal latMinsDiff = Math.Abs(dms.GetShortMinutesLattitude() - Math.Truncate(wcm.DdmMinsLat)); decimal lonMinsDiff = Math.Abs(dms.GetShortMinutesLongitude() - Math.Truncate(wcm.DdmMinsLon)); decimal latSecsDiff = Math.Abs(dms.GetSecondsLattitude() - wcm.DmsSecondsLat); decimal lonSecsDiff = Math.Abs(dms.GetSecondsLongitude() - wcm.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); }