Пример #1
0
        public void Constructor_StreamSettings_SetsSettingsAndMakesThemIsReadOnly()
        {
            MemoryStream dataStream = new MemoryStream(PbfTestData.pbf_n_node);
            OsmReaderSettings settings = new OsmReaderSettings();

            using (PbfReader target = new PbfReader(dataStream, settings)) {
                Assert.Same(settings, target.Settings);
                Assert.True(settings.IsReadOnly);
            }
        }
Пример #2
0
        static void LoadSourceData()
        {
            _entities = new List<IEntityInfo>();

            IEntityInfo info = null;
            using (PbfReader reader = new PbfReader("TestFiles\\test-file-dc.pbf", new OsmReaderSettings() { ReadMetadata = true })) {
                while ((info = reader.Read()) != null) {
                    _entities.Add(info);
                }
            }
        }
        public void PbfReaderReadsFilesCreatedByOsmosis_NoDenseDeflateCompression()
        {
            string pbfFile = Path.GetFullPath("TestFiles\\pbfreader-osmosis-compatibility-test-osmosis-real-file-c.pbf");
            if (File.Exists(pbfFile)) {
                File.Delete(pbfFile);
            }

            string osmosisArguments = string.Format("--read-pbf file={0} --write-pbf file={1} usedense=false compress=deflate", Path.GetFullPath(TestFilePath), pbfFile);
            this.CallOsmosis(osmosisArguments);

            using (PbfReader reader = new PbfReader(pbfFile, new OsmReaderSettings() { ReadMetadata = true })) {
                this.TestReader(reader);
            }
        }
        public void PbfReaderCanReadFileCreatedByPbfWriter_NoDenseDeflate()
        {
            MemoryStream stream = new MemoryStream();

            using (PbfWriter writer = new PbfWriter(stream, new PbfWriterSettings() { WriteMetadata = true, UseDenseFormat = false, Compression = CompressionMode.ZlibDeflate })) {
                foreach (var info in this.GetTestData()) {
                    writer.Write(info);
                }

                writer.Flush();

                stream.Seek(0, SeekOrigin.Begin);
                using (PbfReader reader = new PbfReader(stream, new OsmReaderSettings() { ReadMetadata = true })) {
                    this.TestReader(reader);
                }
            }
        }
Пример #5
0
        public void Read_ReadsRelationWithWay_NoCompresion()
        {
            PbfReader target = new PbfReader(new MemoryStream(PbfTestData.pbf_n_relation_way), new OsmReaderSettings() {ReadMetadata = false});
            RelationInfo readRelation = target.Read() as RelationInfo;

            this.CompareRelation(_relationWay, readRelation);
        }
Пример #6
0
 static void TestOsmGeometryDatabaseLoadFromPbfReader()
 {
     using (PbfReader reader = new PbfReader("TestFiles\\test-file-dc.pbf", new OsmReaderSettings() { ReadMetadata = true })) {
         OsmGeometryDatabase db = OsmGeometryDatabase.Load(reader, true);
     }
 }
Пример #7
0
        public void Constructor_StringSettings_SetsSettingsAndMakesThemIsReadOnly()
        {
            string filename = "..\\..\\src\\Tests.SpatialLite.Osm\\Data\\Pbf\\pbf-n-node.pbf";
            OsmReaderSettings settings = new OsmReaderSettings();

            using (PbfReader target = new PbfReader(filename, settings)) {
                Assert.Same(settings, target.Settings);
                Assert.True(settings.IsReadOnly);
            }
        }
Пример #8
0
        public void Read_SkipsWayMetadataIfProcessMetadataIsFalse_NoCompresion()
        {
            PbfReader target = new PbfReader(new MemoryStream(PbfTestData.pbf_n_way_all_properties), new OsmReaderSettings() {ReadMetadata = false});
            WayInfo readWay = target.Read() as WayInfo;

            Assert.Null(readWay.Metadata);
        }
Пример #9
0
 public void Read_ThrowInvalidDataExceptionIfOsmDataBlockSizeExceedesAllowdValue()
 {
     using (PbfReader reader = new PbfReader(new MemoryStream(PbfTestData.pbf_too_large_data_block), new OsmReaderSettings() {ReadMetadata = false})) {
         Assert.Throws<InvalidDataException>(() => reader.Read());
     }
 }
Пример #10
0
        public void Read_ReturnsNullIfAllEntitiesHaveBeenRead()
        {
            PbfReader target = new PbfReader(new MemoryStream(PbfTestData.pbf_n_node), new OsmReaderSettings() {ReadMetadata = false});
            //read only entity
            IEntityInfo read = target.Read();

            // should return null
            read = target.Read();
            Assert.Null(read);
        }
Пример #11
0
        public void Read_SkipsNodeMetadataIfProcessMetadataIsFalse_NoCompression()
        {
            PbfReader target = new PbfReader(new MemoryStream(PbfTestData.pbf_n_node_all_properties), new OsmReaderSettings() {ReadMetadata = false});
            NodeInfo readNode = target.Read() as NodeInfo;

            Assert.Null(readNode.Metadata);
        }
Пример #12
0
        static void TestPbfReaderSpeedNoDenseNoCompressionWithoutMetadata()
        {
            int entitiesRead = 0;

            IEntityInfo info = null;
            using (PbfReader reader = new PbfReader("TestFiles\\test-file.pbf", new OsmReaderSettings() { ReadMetadata = false })) {
                while ((info = reader.Read()) != null) {
                    entitiesRead++;
                }
            }
        }
Пример #13
0
        public void Read_ReadsWay_NoCompresion()
        {
            PbfReader target = new PbfReader(new MemoryStream(PbfTestData.pbf_n_way), new OsmReaderSettings() {ReadMetadata = false});
            WayInfo readWay = target.Read() as WayInfo;

            this.CompareWays(_way, readWay);
        }
Пример #14
0
        public void Read_ReadsRelationWithAllProperties_NoCompresion()
        {
            PbfReader target = new PbfReader(new MemoryStream(PbfTestData.pbf_n_relation_all_properties), new OsmReaderSettings() {ReadMetadata = true});
            RelationInfo readRelation = target.Read() as RelationInfo;

            this.CompareRelation(_relationProperties, readRelation);
        }
        private IEnumerable<IEntityInfo> GetTestData()
        {
            List<IEntityInfo> data = new List<IEntityInfo>();

            using (MemoryStream stream = new MemoryStream(Data.IOTestData.pbf_real_test_file_1)) {
                using (PbfReader reader = new PbfReader(stream, new OsmReaderSettings() { ReadMetadata = true })) {
                    IEntityInfo info = null;
                    while ((info = reader.Read()) != null) {
                        data.Add(info);
                    }
                }
            }

            return data;
        }
Пример #16
0
        public void Read_ReadsNode_NoCompression()
        {
            PbfReader target = new PbfReader(new MemoryStream(PbfTestData.pbf_n_node), new OsmReaderSettings() {ReadMetadata = false});
            NodeInfo readNode = target.Read() as NodeInfo;

            this.CompareNodes(_node, readNode);
        }
Пример #17
0
        public void Read_ReadsNodeWithMetadata_NoCompression()
        {
            PbfReader target = new PbfReader(new MemoryStream(PbfTestData.pbf_n_node_all_properties), new OsmReaderSettings() {ReadMetadata = true});
            NodeInfo readNode = target.Read() as NodeInfo;

            this.CompareNodes(_nodeProperties, readNode);
        }
Пример #18
0
        public void Dispose_ClosesOutputStreamIfWritingToStream()
        {
            MemoryStream stream = new MemoryStream(PbfTestData.pbf_n_node);
            OsmReaderSettings settings = new OsmReaderSettings() {ReadMetadata = true};

            PbfReader target = new PbfReader(stream, settings);
            target.Dispose();

            Assert.False(stream.CanRead);
        }
Пример #19
0
        public void Dispose_ClosesOutputStreamIfWritingToFiles()
        {
            string filename = "..\\..\\src\\Tests.SpatialLite.Osm\\Data\\Pbf\\pbf-n-node.pbf";
            OsmReaderSettings settings = new OsmReaderSettings() {ReadMetadata = true};

            PbfReader target = new PbfReader(filename, settings);
            target.Dispose();

            FileStream testStream = null;
            Assert.DoesNotThrow(() => testStream = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite));
            testStream.Dispose();
        }
Пример #20
0
        private void TestPbfOutput(MemoryStream pbfStream, IEntityInfo expected)
        {
            if (pbfStream.CanSeek) {
                pbfStream.Seek(0, SeekOrigin.Begin);
            }
            else {
                pbfStream = new MemoryStream(pbfStream.GetBuffer());
            }

            PbfReader reader = new PbfReader(pbfStream, new OsmReaderSettings() { ReadMetadata = true });
            IEntityInfo read = reader.Read();

            switch (expected.EntityType) {
                case EntityType.Node: this.CompareNodes(expected as NodeInfo, read as NodeInfo); break;
                case EntityType.Way: this.CompareWays(expected as WayInfo, read as WayInfo); break;
                case EntityType.Relation: this.CompareRelation(expected as RelationInfo, read as RelationInfo); break;
            }
        }
Пример #21
0
        public void Read_ReadsWayWithMetadata_NoCompresion()
        {
            PbfReader target = new PbfReader(new MemoryStream(PbfTestData.pbf_n_way_all_properties), new OsmReaderSettings() {ReadMetadata = true});
            WayInfo readWay = target.Read() as WayInfo;

            this.CompareWays(_wayProperties, readWay);
        }
Пример #22
0
        static void TestPbfReaderSpeedDenseDeflate()
        {
            int entitiesRead = 0;

            IEntityInfo info = null;
            using (PbfReader reader = new PbfReader("TestFiles\\test-file-dc.pbf", new OsmReaderSettings() { ReadMetadata = true })) {
                while ((info = reader.Read()) != null) {
                    entitiesRead++;
                }
            }
        }