public void Constructor_IEnumerable_CreatesCollectionWithSpecifiedItems()
        {
            OsmGeometryDatabase target = new OsmGeometryDatabase(_data);

            for (int i = 0; i < _data.Length; i++) {
                Assert.Contains(_data[i], target);
            }
        }
Example #2
0
        public void Constructor__CreatesEmptyDatabase()
        {
            OsmGeometryDatabase target = new OsmGeometryDatabase();

            Assert.Empty(target);
            Assert.Empty(target.Nodes);
            Assert.Empty(target.Ways);
            Assert.Empty(target.Relations);
        }
Example #3
0
        public void Load_ThrowsExceptionIfAllRelationReferencesAreNotResolvedAtTheEndOfLoadingAndIgnoreMissingIsFalse()
        {
            IOsmReader reader = new OsmXmlReader(TestDataReader.OpenOsmDB("osm-relation-invalid-ref.osm"), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });

            Assert.Throws <ArgumentException>(() => OsmGeometryDatabase.Load(reader, false));
        }
        public void Load_ThrowsExceptionIfAllRelationReferencesAreNotResolvedAtTheEndOfLoadingAndIgnoreMissingIsFalse()
        {
            IOsmReader reader = new OsmXmlReader(new MemoryStream(OsmDatabaseTestData.osm_relation_invalid_ref), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });

            Assert.Throws <ArgumentException>(() => OsmGeometryDatabase.Load(reader, false));
        }
        public void Constructor__CreatesEmptyDatabase()
        {
            OsmGeometryDatabase target = new OsmGeometryDatabase();

            Assert.Empty(target);
            Assert.Empty(target.Nodes);
            Assert.Empty(target.Ways);
            Assert.Empty(target.Relations);
        }
Example #6
0
        public void Constructor_IEnumerable_CreatesCollectionWithSpecifiedItems()
        {
            OsmGeometryDatabase target = new OsmGeometryDatabase(_data);

            for (int i = 0; i < _data.Length; i++)
            {
                Assert.Contains(_data[i], target);
            }
        }
Example #7
0
 static void TestOsmGeometryDatabaseLoadFromPbfReader()
 {
     using (PbfReader reader = new PbfReader("TestFiles\\test-file-dc.pbf", new OsmReaderSettings()
     {
         ReadMetadata = true
     })) {
         OsmGeometryDatabase db = OsmGeometryDatabase.Load(reader, true);
     }
 }
Example #8
0
        public void Load_DoesNotThrowExceptionIfIgnoreMissingIsTrueAndRelationMemberIsMissing()
        {
            IOsmReader reader = new OsmXmlReader(TestDataReader.OpenOsmDB("osm-relation-invalid-ref.osm"), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });
            OsmGeometryDatabase target = null;

            target = OsmGeometryDatabase.Load(reader, true);

            Assert.Equal(1, target.Relations.Count);
        }
Example #9
0
        public void OsmGeometryDatabase_LoadesRealFile()
        {
            OsmXmlReader reader = new OsmXmlReader(TestDataReader.OpenXml("osm-real-file.osm"), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });
            OsmGeometryDatabase target = OsmGeometryDatabase.Load(reader, true);

            Assert.Equal(6688, target.Nodes.Count);
            Assert.Equal(740, target.Ways.Count);
            Assert.Equal(75, target.Relations.Count);
        }
        public void Load_LoadedRealFile()
        {
            OsmXmlReader reader = new OsmXmlReader(new MemoryStream(OsmDatabaseTestData.osm_real_file), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });
            OsmGeometryDatabase target = OsmGeometryDatabase.Load(reader, true);

            Assert.Equal(6688, target.Nodes.Count);
            Assert.Equal(740, target.Ways.Count);
            Assert.Equal(75, target.Relations.Count);
        }
        public void Load_DoesNotThrowExceptionIfIgnoreMissingIsTrueAndRelationMemberIsMissing()
        {
            IOsmReader reader = new OsmXmlReader(new MemoryStream(OsmDatabaseTestData.osm_relation_invalid_ref), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });
            OsmGeometryDatabase target = null;

            Assert.DoesNotThrow(() => target = OsmGeometryDatabase.Load(reader, true));

            Assert.Equal(1, target.Relations.Count);
        }
Example #12
0
        public void Load_LoadsNodes()
        {
            IOsmReader reader = new OsmXmlReader(TestDataReader.OpenOsmDB("osm-nodes.osm"), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });
            OsmGeometryDatabase target = OsmGeometryDatabase.Load(reader, true);

            Assert.Equal(3, target.Nodes.Count);
            Assert.True(target.Nodes.Contains(1));
            Assert.True(target.Nodes.Contains(2));
            Assert.True(target.Nodes.Contains(3));
        }
        public void Load_LoadsNodes()
        {
            IOsmReader reader = new OsmXmlReader(new MemoryStream(OsmDatabaseTestData.osm_nodes), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });
            OsmGeometryDatabase target = OsmGeometryDatabase.Load(reader, true);

            Assert.Equal(3, target.Nodes.Count);
            Assert.True(target.Nodes.Contains(1));
            Assert.True(target.Nodes.Contains(2));
            Assert.True(target.Nodes.Contains(3));
        }
        public void Load_CanLoadRelationsWithReferenceToRelationsNotYetCreated()
        {
            IOsmReader reader = new OsmXmlReader(new MemoryStream(OsmDatabaseTestData.osm_relation_ref_other_relation), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });
            OsmGeometryDatabase target = OsmGeometryDatabase.Load(reader, true);

            Assert.Equal(2, target.Relations.Count);
            Assert.True(target.Relations.Contains(100));
            Assert.True(target.Relations.Contains(101));

            Assert.Equal(101, target.Relations[100].Geometries[0].Member.ID);
        }
Example #15
0
        public void Load_CanLoadRelationsWithReferenceToRelationsNotYetCreated()
        {
            IOsmReader reader = new OsmXmlReader(TestDataReader.OpenOsmDB("osm-relation-ref-other-relation.osm"), new OsmXmlReaderSettings()
            {
                ReadMetadata = true
            });
            OsmGeometryDatabase target = OsmGeometryDatabase.Load(reader, true);

            Assert.Equal(2, target.Relations.Count);
            Assert.True(target.Relations.Contains(100));
            Assert.True(target.Relations.Contains(101));

            Assert.Equal(101, target.Relations[100].Geometries[0].Member.ID);
        }
        public void Constructor_IEnumerable_AddEnittiesToCorrextCollections()
        {
            OsmGeometryDatabase target = new OsmGeometryDatabase(_data);

            for (int i = 0; i < _nodeData.Length; i++) {
                Assert.Contains(_nodeData[i], target.Nodes);
            }

            for (int i = 0; i < _wayData.Length; i++) {
                Assert.Contains(_wayData[i], target.Ways);
            }

            for (int i = 0; i < _relationData.Length; i++) {
                Assert.Contains(_relationData[i], target.Relations);
            }
        }
Example #17
0
        public void Save_CallsIOsmWriterWriteForAllEntities()
        {
            List <IOsmGeometry> written = new List <IOsmGeometry>();
            Mock <IOsmWriter>   writerM = new Mock <IOsmWriter>();

            writerM.Setup(w => w.Write(It.IsAny <IOsmGeometry>())).Callback <IOsmGeometry>((e) => written.Add(e));

            OsmGeometryDatabase target = new OsmGeometryDatabase(_data);

            target.Save(writerM.Object);

            Assert.Equal(target.Count, written.Count);
            foreach (var entity in target)
            {
                Assert.Contains(entity, written);
            }
        }
Example #18
0
        public void Constructor_IEnumerable_AddEnittiesToCorrextCollections()
        {
            OsmGeometryDatabase target = new OsmGeometryDatabase(_data);

            for (int i = 0; i < _nodeData.Length; i++)
            {
                Assert.Contains(_nodeData[i], target.Nodes);
            }

            for (int i = 0; i < _wayData.Length; i++)
            {
                Assert.Contains(_wayData[i], target.Ways);
            }

            for (int i = 0; i < _relationData.Length; i++)
            {
                Assert.Contains(_relationData[i], target.Relations);
            }
        }
        public void Save_CallsIOsmWriterWriteForAllEntities()
        {
            List<IOsmGeometry> written = new List<IOsmGeometry>();
            Mock<IOsmWriter> writerM = new Mock<IOsmWriter>();

            writerM.Setup(w => w.Write(It.IsAny<IOsmGeometry>())).Callback<IOsmGeometry>((e) => written.Add(e));

            OsmGeometryDatabase target = new OsmGeometryDatabase(_data);
            target.Save(writerM.Object);

            Assert.Equal(target.Count, written.Count);
            foreach (var entity in target) {
                Assert.Contains(entity, written);
            }
        }