Example #1
0
        public void DefaultCtorCreatesInvalidDMSCoordinate_Test()
        {
            var dms                = new DMSCoordinate();
            var expectedResult     = false;
            var expectedLatDegrees = 0m;
            var expectedLatMins    = 0m;
            var expectedLatSecs    = 0m;
            var expectedLonDegrees = 0m;
            var expectedLonMins    = 0m;
            var expectedLonSecs    = 0m;

            var actualResult     = dms.IsValid;
            var actualLatDegrees = dms.GetShortDegreesLat();
            var actualLatMins    = dms.GetMinsLat();
            var actualLatSecs    = dms.GetSecondsLattitude();
            var actualLonDegrees = dms.GetShortDegreesLon();
            var actualLonMins    = dms.GetMinsLon();
            var actualLonSecs    = dms.GetSecondsLongitude();

            Assert.AreEqual(expectedLatDegrees, actualLatDegrees);
            Assert.AreEqual(expectedLatMins, actualLatMins);
            Assert.AreEqual(expectedLatSecs, actualLatSecs);
            Assert.AreEqual(expectedLonDegrees, actualLonDegrees);
            Assert.AreEqual(expectedLonMins, actualLonMins);
            Assert.AreEqual(expectedLonSecs, actualLonSecs);
            Assert.AreEqual(expectedResult, actualResult);
        }
Example #2
0
        public void ValidateIsSecsOrMinsTest10000()
        {
            string  testInput         = "10000";
            decimal expectedOutResult = 0.0m;
            bool    expectedResult    = false;

            bool actualResult = DMSCoordinate.ValidateIsMinutes(testInput, out decimal actualOutResult);

            Assert.AreEqual(expectedResult, actualResult);
            Assert.AreEqual(expectedOutResult, actualOutResult);
        }
Example #3
0
        public void ValidateIsSecsOrMinsTestNeg59()
        {
            string  testInput         = "-50";
            decimal expectedOutResult = -50.0m;
            bool    expectedResult    = true;

            bool actualResult = DMSCoordinate.ValidateIsSeconds(testInput, out decimal actualOutResult);

            Assert.AreEqual(expectedResult, actualResult);
            Assert.AreEqual(expectedOutResult, actualOutResult);
        }
Example #4
0
        public void IsValid_InvalidLon_Test()
        {
            decimal lattitude      = 90.0m;
            decimal longitude      = -181.0m;
            bool    expectedResult = false;

            var  dms          = new DMSCoordinate(lattitude, longitude);
            bool actualResult = dms.IsValid;

            Assert.AreEqual(expectedResult, actualResult);
        }
Example #5
0
        public void IsValid_90_180_Passes_Test()
        {
            decimal lattitude      = 90.0m;
            decimal longitude      = 180.0m;
            bool    expectedResult = true;

            var  dms          = new DMSCoordinate(lattitude, longitude);
            bool actualResult = dms.IsValid;

            Assert.AreEqual(expectedResult, actualResult);
        }
Example #6
0
        public void ValidateSeconds()
        {
            bool    expectedResultSecs = true;
            decimal expectedOutputSecs = 34.21m;

            string strSeconds = "34.21";

            bool actualResultSecs = DMSCoordinate.ValidateIsSeconds(strSeconds, out decimal actualOutputSecs);

            Assert.AreEqual(expectedResultSecs, actualResultSecs);
            Assert.AreEqual(expectedOutputSecs, actualOutputSecs);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
        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);
        }
Example #11
0
        public void GetShortMinutesLattitudeTest()
        {
            var mcm = new MunichCoordinatesModel();
            var dms = new DMSCoordinate(mcm.DegreesLat, mcm.DegreesLon);

            decimal shortMinutesLat = dms.GetShortMinutesLattitude();

            decimal minutesLatDiff = Math.Abs(Math.Truncate(mcm.DdmMinsLat) - shortMinutesLat);

            var dict = new Dictionary <string, decimal>
            {
                { "minutesLatDiff", minutesLatDiff }
            };

            DisplayOutput("49", shortMinutesLat.ToString(), dict);

            Assert.IsTrue(minutesLatDiff <= 0.1m);
        }
Example #12
0
        public void CTOR_DDMtoDMS_Test()
        {
            var lcm = new LynnwoodCoordinatesModel();
            var dms = new DMSCoordinate(lcm.ShortDegreesLattitude(), lcm.DdmMinsLat, lcm.ShortDegreesLongitude(), lcm.DdmMinsLon);

            string expectedResult = LynnwoodCoordinatesModel.StrDMS();
            string actualResult   = dms.ToString();

            if (expectedResult != actualResult)
            {
                decimal latDiff = Math.Abs(dms.GetShortDegreesLat() - Math.Truncate(lcm.DegreesLat));
                decimal lonDiff = Math.Abs(dms.GetShortDegreesLon() - Math.Truncate(lcm.DegreesLon));

                decimal latMinsDiff = Math.Abs(dms.GetShortMinutesLattitude() - Math.Truncate(lcm.DdmMinsLat));
                decimal lonMinsDiff = Math.Abs(dms.GetShortMinutesLongitude() - Math.Truncate(lcm.DdmMinsLon));

                decimal latSecsDiff = Math.Abs(dms.GetSecondsLattitude() - lcm.DmsSecondsLat);
                decimal lonSecsDiff = Math.Abs(dms.GetSecondsLongitude() - lcm.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);
            }
            else
            {
                Assert.AreEqual(expectedResult, actualResult);
            }
        }
Example #13
0
        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);
        }