Beispiel #1
0
        public void KmlReadTestv2_0_response()
        {
            // instantiate and load the gpx test document.
            XmlStreamSource source = new XmlStreamSource(
                Assembly.GetExecutingAssembly().GetManifestResourceStream("OsmSharp.Test.data.test.v2.0.response.kml"));
            KmlDocument document = new KmlDocument(source);
            object      kml      = document.Kml;

            if (kml is OsmSharp.IO.Xml.Kml.v2_0_response.kml)
            { // all ok here!
                OsmSharp.IO.Xml.Kml.v2_0_response.kml kml_type = (kml as OsmSharp.IO.Xml.Kml.v2_0_response.kml);

                // test the gpx test file content.
                Assert.IsNotNull(kml_type.Item, "No item was found!");
                Assert.IsInstanceOf <OsmSharp.IO.Xml.Kml.v2_0_response.Response>(kml_type.Item, "Incorrect item type!");

                OsmSharp.IO.Xml.Kml.v2_0_response.Response type = (kml_type.Item as OsmSharp.IO.Xml.Kml.v2_0_response.Response);
                Assert.AreEqual(type.Items.Length, 8, "Incorrect number of items in response!");
            }
            else
            {
                Assert.Fail("No kml data was read, or data was of the incorrect type!");
            }

            document.Close();
            source.Close();
        }
Beispiel #2
0
 /// <summary>
 /// Converts a response into an osm object.
 /// </summary>
 /// <param name="response"></param>
 /// <returns></returns>
 private void ConvertResponse(OsmSharp.IO.Xml.Kml.v2_0_response.Response response)
 {
     foreach (object item in response.Items)
     {
         if (item is OsmSharp.IO.Xml.Kml.v2_0_response.Document)
         {
             this.ConvertDocument(item as OsmSharp.IO.Xml.Kml.v2_0_response.Document);
         }
         else if (item is OsmSharp.IO.Xml.Kml.v2_0_response.Folder)
         {
             this.ConvertFolder(item as OsmSharp.IO.Xml.Kml.v2_0_response.Folder);
         }
         else if (item is OsmSharp.IO.Xml.Kml.v2_0_response.Placemark)
         {
             this.ConvertPlacemark(item as OsmSharp.IO.Xml.Kml.v2_0_response.Placemark);
         }
         else if (item is OsmSharp.IO.Xml.Kml.v2_0_response.Response)
         {
             this.ConvertResponse(item as OsmSharp.IO.Xml.Kml.v2_0_response.Response);
         }
     }
 }
Beispiel #3
0
        public void KmlWriteTestv2_0_response()
        {
            // instantiate and load the gpx test document.
            XmlStreamSource source = new XmlStreamSource(
                Assembly.GetExecutingAssembly().GetManifestResourceStream("OsmSharp.Test.data.test.v2.0.response.kml"));
            KmlDocument document = new KmlDocument(source);
            object      kml      = document.Kml;

            if (kml is OsmSharp.IO.Xml.Kml.v2_0_response.kml)
            { // all ok here!
                // delete the target file.
                MemoryStream write_file = new MemoryStream();

                // create a new xml source.
                XmlStreamSource write_source = new XmlStreamSource(write_file);
                KmlDocument     kml_target   = new KmlDocument(write_source);

                // set the target data the same as the source document.
                kml_target.Kml = kml;

                // save the data.
                kml_target.Save();

                // close the old document.
                document.Close();
                source.Close();

                // check to see if the data was writter correctly.
                // instantiate and load the osm test document.
                source   = new XmlStreamSource(write_file);
                document = new KmlDocument(source);
                kml      = document.Kml;

                // check the result that was written and then read again.
                if (kml is OsmSharp.IO.Xml.Kml.v2_0_response.kml)
                { // all ok here!
                    OsmSharp.IO.Xml.Kml.v2_0_response.kml kml_type = (kml as OsmSharp.IO.Xml.Kml.v2_0_response.kml);

                    // test the gpx test file content.
                    Assert.IsNotNull(kml_type.Item, "No item was found!");
                    Assert.IsInstanceOf <OsmSharp.IO.Xml.Kml.v2_0_response.Response>(kml_type.Item, "Incorrect item type!");

                    OsmSharp.IO.Xml.Kml.v2_0_response.Response type = (kml_type.Item as OsmSharp.IO.Xml.Kml.v2_0_response.Response);
                    Assert.AreEqual(type.Items.Length, 8, "Incorrect number of items in response!");
                }
                else
                {
                    Assert.Fail("No kml data was read, or data was of the incorrect type!");
                }

                document.Close();
                source.Close();
            }
            else
            {
                Assert.Fail("No kml data was read, or data was of the incorrect type!");
            }

            document.Close();
            source.Close();
        }