コード例 #1
0
        public void DecimalGradShouldBeParsable()
        {
            const string text = " 32° 18.385' N ";

            var coordinate = SexagesimalCoordinateParser.Parse(text);

            Assert.Equal(32, coordinate.Degrees);
            Assert.Equal(18, coordinate.Minutes);
            Assert.Equal(17, (int)coordinate.Seconds);
            Assert.Equal(SexagesimalCoordinate.CoordinateType.Latitude, coordinate.Type);
        }
コード例 #2
0
        public void GradMinutesSecondsNumbersOnlyShouldBeParsable()
        {
            const string text = "37 25 19,07";

            var coordinate = SexagesimalCoordinateParser.Parse(text);

            Assert.Equal(37, coordinate.Degrees);
            Assert.Equal(25, coordinate.Minutes);
            Assert.Equal(19, (int)coordinate.Seconds);
            Assert.Equal(SexagesimalCoordinate.CoordinateType.Latitude, coordinate.Type);
        }
コード例 #3
0
        public void GradMinutesSecondsWithoutSpaceShouldBeParsable()
        {
            const string text = "37°25'19.07\"N";

            var coordinate = SexagesimalCoordinateParser.Parse(text);

            Assert.Equal(37, coordinate.Degrees);
            Assert.Equal(25, coordinate.Minutes);
            Assert.Equal(19, (int)coordinate.Seconds);
            Assert.Equal(SexagesimalCoordinate.CoordinateType.Latitude, coordinate.Type);
        }
コード例 #4
0
        public void DecimalGradWithTypeShouldBeParsable()
        {
            var source = new SexagesimalCoordinate(37, 25, 19.07);
            var text   = source.DecimalValue.ToString(CultureInfo.InvariantCulture) + "O";

            var coordinate = SexagesimalCoordinateParser.Parse(text);

            Assert.Equal(37, coordinate.Degrees);
            Assert.Equal(25, coordinate.Minutes);
            Assert.Equal(19, (int)coordinate.Seconds);
            Assert.Equal(SexagesimalCoordinate.CoordinateType.Longitude, coordinate.Type);
        }