public void ParseGpsFix_InvalidValue_ReturnsNull()
        {
            string invalidValue = "some other string";
            GpsFix?parsedValue  = GpxFixHelper.ParseGpsFix(invalidValue);

            Assert.Null(parsedValue);
        }
Example #2
0
        /// <summary>
        /// Reads waypoint metadata from the internal XmlReader.
        /// </summary>
        /// <param name="metadata">Objecto to store read metadata</param>
        /// <returns>true if piece of metadata was read, otherwise returns false</returns>
        private bool TryReadPointMetadata(GpxPointMetadata metadata)
        {
            switch (_xmlReader.Name)
            {
            case "name":
                metadata.Name = _xmlReader.ReadElementString(); return(true);

            case "cmt":
                metadata.Comment = _xmlReader.ReadElementString(); return(true);

            case "desc":
                metadata.Description = _xmlReader.ReadElementString(); return(true);

            case "src":
                metadata.Source = _xmlReader.ReadElementString(); return(true);

            case "link":
                metadata.Links.Add(ReadLink()); return(true);

            case "magvar":
                string magvarValue = _xmlReader.ReadElementString();
                metadata.MagVar = double.Parse(magvarValue, _invariantCulture); return(true);

            case "geoidheight":
                string geoidHeightValue = _xmlReader.ReadElementString();
                metadata.GeoidHeight = double.Parse(geoidHeightValue, _invariantCulture); return(true);

            case "hdop":
                string HdopValue = _xmlReader.ReadElementString();
                metadata.Hdop = double.Parse(HdopValue, _invariantCulture); return(true);

            case "vdop":
                string vdopValue = _xmlReader.ReadElementString();
                metadata.Vdop = double.Parse(vdopValue, _invariantCulture); return(true);

            case "pdop":
                string pdopValue = _xmlReader.ReadElementString();
                metadata.Pdop = double.Parse(pdopValue, _invariantCulture); return(true);

            case "ageofdgpsdata":
                string ageValue = _xmlReader.ReadElementString();
                metadata.AgeOfDgpsData = double.Parse(ageValue, _invariantCulture); return(true);

            case "sat":
                string satValue = _xmlReader.ReadElementString();
                metadata.SatellitesCount = int.Parse(satValue, _invariantCulture); return(true);

            case "dgpsid":
                string dgpsidValue = _xmlReader.ReadElementString();
                metadata.DgpsId = int.Parse(dgpsidValue, _invariantCulture); return(true);

            case "fix":
                string fixValue = _xmlReader.ReadElementString();
                metadata.Fix = GpxFixHelper.ParseGpsFix(fixValue); return(true);
            }

            return(false);
        }
        public void GpsFixToString_GpsFixes_ConvertsToStringEquivalents(GpsFix fix, string expectedValue)
        {
            string strValue = GpxFixHelper.GpsFixToString(fix);

            Assert.Equal(expectedValue, strValue);
        }
        public void ParseGpsFix_ValidGpsFixes_ParsesStringValue(GpsFix expectedValue, string s)
        {
            GpsFix?parsedValue = GpxFixHelper.ParseGpsFix(s);

            Assert.Equal(expectedValue, parsedValue);
        }
Example #5
0
        /// <summary>
        /// Writes content of the GpxPointDetails class to the current position of output stream
        /// </summary>
        /// <param name="metadata">A GpxEntityDetails object to be written</param>
        private void WritePointMetadata(GpxPointMetadata metadata)
        {
            if (metadata != null)
            {
                if (metadata.Name != null)
                {
                    _xmlWriter.WriteElementString("name", metadata.Name);
                }
                if (metadata.Comment != null)
                {
                    _xmlWriter.WriteElementString("cmt", metadata.Comment);
                }
                if (metadata.Description != null)
                {
                    _xmlWriter.WriteElementString("desc", metadata.Description);
                }
                if (metadata.Source != null)
                {
                    _xmlWriter.WriteElementString("src", metadata.Source);
                }

                foreach (var link in metadata.Links)
                {
                    this.WriteLink(link);
                }

                if (metadata.MagVar.HasValue)
                {
                    _xmlWriter.WriteElementString("magvar", metadata.MagVar.Value.ToString(_invariantCulture));
                }
                if (metadata.GeoidHeight.HasValue)
                {
                    _xmlWriter.WriteElementString("geoidheight", (metadata.GeoidHeight ?? 0).ToString(_invariantCulture));
                }
                if (metadata.Symbol != null)
                {
                    _xmlWriter.WriteElementString("sym", metadata.Symbol);
                }
                if (metadata.Fix.HasValue)
                {
                    _xmlWriter.WriteElementString("fix", GpxFixHelper.GpsFixToString(metadata.Fix.Value));
                }
                if (metadata.SatellitesCount.HasValue)
                {
                    _xmlWriter.WriteElementString("sat", metadata.SatellitesCount.Value.ToString(_invariantCulture));
                }
                if (metadata.Hdop.HasValue)
                {
                    _xmlWriter.WriteElementString("hdop", metadata.Hdop.Value.ToString(_invariantCulture));
                }
                if (metadata.Vdop.HasValue)
                {
                    _xmlWriter.WriteElementString("vdop", metadata.Vdop.Value.ToString(_invariantCulture));
                }
                if (metadata.Pdop.HasValue)
                {
                    _xmlWriter.WriteElementString("pdop", metadata.Pdop.Value.ToString(_invariantCulture));
                }
                if (metadata.AgeOfDgpsData.HasValue)
                {
                    _xmlWriter.WriteElementString("ageofdgpsdata", metadata.AgeOfDgpsData.Value.ToString(_invariantCulture));
                }
                if (metadata.DgpsId.HasValue)
                {
                    _xmlWriter.WriteElementString("dgpsid", metadata.DgpsId.Value.ToString(_invariantCulture));
                }
            }
        }