public void DmsToDD_SW_Test() { var mvcm = new MontevideoCoordinateModel(); var dd = new DDCoordinate( mvcm.ShortDegreesLattitude(), mvcm.DdmMinsLat, mvcm.DmsSecondsLat, mvcm.ShortDegreesLongitude(), mvcm.DdmMinsLon, mvcm.DmsSecondsLon ); string expectedResult = MontevideoCoordinateModel.StrDD(); int expectedLength = expectedResult.Length; string actualResult = dd.ToString(); int actualLength = actualResult.Length; decimal latDiff = Math.Abs(dd.GetLattitudeDD() - mvcm.DegreesLat); decimal lonDiff = Math.Abs(dd.GetLongitudeDD() - mvcm.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 CTOR_DDM_Test() { var mvcm = new MontevideoCoordinateModel(); decimal latDegrees = mvcm.DegreesLat; decimal latMins = mvcm.DdmMinsLat; decimal lonDegrees = mvcm.DegreesLon; decimal lonMins = mvcm.DdmMinsLon; var ddm = new DDMCoordinate(latDegrees, latMins, lonDegrees, lonMins); string expectedResult = MontevideoCoordinateModel.StrDDM(); string actualResult = ddm.ToString(); decimal latDiff = Math.Abs(ddm.GetShortDegreesLat() - Math.Truncate(mvcm.DegreesLat)); decimal lonDiff = Math.Abs(ddm.GetShortDegreesLon() - Math.Truncate(mvcm.DegreesLon)); decimal latMinsDiff = Math.Abs(ddm.GetMinsLat() - mvcm.DdmMinsLat); decimal lonMinsDiff = Math.Abs(ddm.GetMinsLon() - mvcm.DdmMinsLon); var dict = new Dictionary <string, decimal> { { "latDiff", latDiff }, { "lonDiff", lonDiff }, { "latMinsDiff", latMinsDiff }, { "lonMinsDiff", lonMinsDiff } }; DisplayOutput(expectedResult, actualResult, 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 ConvertGridsquareToDDMTestSE() { var mvcm = new MontevideoCoordinateModel(); var cc = new GridDdmExpert(); string gridsquare = MontevideoCoordinateModel.StrGridsquare(); var expectedResult = new DDMCoordinate(mvcm.ShortDegreesLattitude(), mvcm.DdmMinsLat, mvcm.ShortDegreesLongitude(), mvcm.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 ConvertDDMtoGridsquareTest_SW() { var mcm = new MontevideoCoordinateModel(); decimal degreesLat = Math.Truncate(mcm.DegreesLat); decimal degreesLon = Math.Truncate(mcm.DegreesLon); decimal minutesLat = mcm.DdmMinsLat; decimal minutesLon = mcm.DdmMinsLon; var ddm = new DDMCoordinate(degreesLat, minutesLat, degreesLon, minutesLon); var cc = new GridDdmExpert(); string expectedResult = MontevideoCoordinateModel.StrGridsquare(); string actualResult = cc.ConvertDDMtoGridsquare(ddm); Assert.AreEqual(expectedResult, actualResult); }
public void GetNSEW2_Test2() { string expectedSouthResult = "S"; string expectedWestResult = "W"; string expectedNonResult = "E"; var montevideo = new MontevideoCoordinateModel(); string actualSouthResult = ConversionHelper.GetNSEW(montevideo.DegreesLat, 1); string actualWestResult = ConversionHelper.GetNSEW(montevideo.DegreesLon, 2); string actualLongitudeNonResult = ConversionHelper.GetNSEW(0, 2); Assert.AreEqual(expectedSouthResult, actualSouthResult); Assert.AreEqual(expectedWestResult, actualWestResult); Assert.AreEqual(expectedNonResult, actualLongitudeNonResult); }
public void GetSecondsLattitude() { var mvcm = new MontevideoCoordinateModel(); var dms = new DMSCoordinate(mvcm.DegreesLat, mvcm.DegreesLon); decimal expectedSecLats = dms.GetSecondsLattitude(); decimal secondsLat = dms.GetSecondsLattitude(); decimal secondsLatDiff = Math.Abs(Math.Truncate(mvcm.DmsSecondsLat) - secondsLat); var dict = new Dictionary <string, decimal> { { "secondsLatDiff", 0m } }; DisplayOutput(expectedSecLats.ToString(), secondsLat.ToString(), dict); Assert.IsTrue(secondsLatDiff <= 1m); }
public void CTOR_DDtoDMS_SW_Test() { var mvcm = new MontevideoCoordinateModel(); decimal ddLat = mvcm.DegreesLat; decimal ddLon = mvcm.DegreesLon; var dms = new DMSCoordinate(ddLat, ddLon); string expectedResult = LynnwoodCoordinatesModel.StrDMS(); string actualResult = dms.ToString(); decimal latDiff = Math.Abs(dms.GetShortDegreesLat() - Math.Truncate(mvcm.DegreesLat)); decimal lonDiff = Math.Abs(dms.GetShortDegreesLon() - Math.Truncate(mvcm.DegreesLon)); decimal latMinsDiff = Math.Abs(dms.GetShortMinutesLattitude() - Math.Truncate(mvcm.DdmMinsLat)); decimal lonMinsDiff = Math.Abs(dms.GetShortMinutesLongitude() - Math.Truncate(mvcm.DdmMinsLon)); decimal latSecsDiff = Math.Abs(dms.GetSecondsLattitude() - mvcm.DmsSecondsLat); decimal lonSecsDiff = Math.Abs(dms.GetSecondsLongitude() - mvcm.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); }