public void OSMXmlDataWriterCloseClosesWriterAndDoesNotAllowFutherWriting()
        {
            MemoryStream ms = new MemoryStream();

            using (OSMXmlDataWriter target = new OSMXmlDataWriter(ms)) {
                target.Close();

                Assert.Throws<InvalidOperationException>(delegate { target.WriteNode(new OSMNode(1, 0.1, 0.2)); });
            }
        }
Пример #2
0
        /// <summary>
        /// Saves OSM Database to the specific Stream
        /// </summary>
        /// <param name="stream">Stream to to save OSM database</param>
        public void Save(Stream stream)
        {
            using (OSMXmlDataWriter writer = new OSMXmlDataWriter(stream)) {

                foreach (var node in _nodes) {
                    writer.WriteNode(node);
                }

                foreach (var way in _ways) {
                    writer.WriteWay(way);
                }

                foreach (var relation in _relations) {
                    writer.WriteRelation(relation);
                }

                writer.Close();
            }
        }