示例#1
0
        public void Item_ReturnsRelationWithSpecificID()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);
            IOsmGeometry entity = target[_relationData[0].ID, EntityType.Relation];

            Assert.Same(_relationData[0], entity);
        }
        public void Add_AddsWayToCollection()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_wayData.Skip(1));
            target.Add(_wayData[0]);

            Assert.Contains(_wayData[0], target);
        }
示例#3
0
        public void Add_AddsRelationToCollection()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_relationData.Skip(1));

            target.Add(_relationData[0]);

            Assert.Contains(_relationData[0], target);
        }
示例#4
0
        public void Remove_IOsmGeometry_ReturnsFalseIfItemIsNull()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            bool callResult = target.Remove(null);

            Assert.False(callResult);
        }
示例#5
0
        public void Constructor_IEnumerable_CreatesCollectionWithSpecifiedItems()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            for (int i = 0; i < _data.Length; i++)
            {
                Assert.Contains(_data[i], target);
            }
        }
示例#6
0
        public void Constructor__CreatesEmptyDatabase()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>();

            Assert.Empty(target);
            Assert.Empty(target.Nodes);
            Assert.Empty(target.Ways);
            Assert.Empty(target.Relations);
        }
示例#7
0
        public void Remove_ID_ReturnsFalseAndDoesntModifyCollectionIfRelationIsNotPresent()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_relationData.Skip(1));

            bool callResult = target.Remove(_relationData[0].ID, EntityType.Relation);

            Assert.False(callResult);
            Assert.Contains(_relationData[1], target);
        }
示例#8
0
        public void Remove_IOsmGeometry_ReturnsTrueAndRemovesWayFromCollection()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_wayData);

            bool callResult = target.Remove(_wayData[0]);

            Assert.True(callResult);
            Assert.DoesNotContain(_wayData[0], target);
            Assert.Contains(_wayData[1], target);
        }
示例#9
0
        public void Remove_ID_ReturnsTrueAndRemovesRelationFromCollection()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_relationData);

            bool callResult = target.Remove(_relationData[0].ID, EntityType.Relation);

            Assert.True(callResult);
            Assert.DoesNotContain(_relationData[0], target);
            Assert.Contains(_relationData[1], target);
        }
示例#10
0
        public void Clear_RemovesAllItemsFromCollection()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            target.Clear();

            Assert.Empty(target);
            Assert.Empty(target.Nodes);
            Assert.Empty(target.Ways);
            Assert.Empty(target.Relations);
        }
示例#11
0
        public void GetEnumerator_ReturnsEnumeratorThatEnumeratesAllEntities()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            IEnumerable <IOsmGeometry> result = target;

            Assert.Equal(_data.Length, target.Count());
            foreach (var entity in target)
            {
                Assert.Contains(entity, _data);
            }
        }
示例#12
0
        public void CopyTo_CopiesEntitiesToArray()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            IOsmGeometry[] array = new IOsmGeometry[_data.Length];

            target.CopyTo(array, 0);

            for (int i = 0; i < _data.Length; i++)
            {
                Assert.Same(_data[i], array[i]);
            }
        }
示例#13
0
        public void Constructor_IEnumerable_AddEnittiesToCorrectCollections()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_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);
            }
        }
示例#14
0
        public void Constructor_IEnumerable_CreatesCollectionWithSpecifiedItems()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            for (int i = 0; i < _data.Length; i++) {
                Assert.Contains(_data[i], target);
            }
        }
示例#15
0
        public void Constructor_IEnumerable_AddEnittiesToCorrectCollections()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_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);
            }
        }
示例#16
0
        public void IsReadOnly_ReturnsFalse()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            Assert.False(target.IsReadOnly);
        }
示例#17
0
        public void Count_ReturnsNumberOfAllEntities()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            Assert.Equal(_data.Length, target.Count);
        }
示例#18
0
        public void Contains_IOsmGeometry_ReturnsFalseIfCollectionDoesNotContainRelation()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.DoesNotContain(new Relation(10000), target);
        }
示例#19
0
        public void Contains_ID_ReturnsFalseIfCollectionDoesNotContainRelationID()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.False(target.Contains(10000, EntityType.Relation));
        }
示例#20
0
        public void Remove_IOsmGeometry_ReturnsFalseIfItemIsNull()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            bool callResult = target.Remove(null);

            Assert.False(callResult);
        }
示例#21
0
        public void Contains_IOsmGeometry_ReturnsFalseIfCollectionDoesNotContainWay()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            Assert.False(target.Contains(new Way(10000)));
        }
示例#22
0
        public void Remove_ID_ReturnsTrueAndRemovesRelationFromCollection()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_relationData);

            bool callResult = target.Remove(_relationData[0].ID, EntityType.Relation);

            Assert.True(callResult);
            Assert.DoesNotContain(_relationData[0], target);
            Assert.Contains(_relationData[1], target);
        }
示例#23
0
        public void Remove_IOsmGeometry_ReturnsFalseAndDoesntModifyCollectionIfWayIsNotPresent()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_wayData.Skip(1));

            bool callResult = target.Remove(_wayData[0]);

            Assert.False(callResult);
            Assert.Contains(_wayData[1], target);
        }
示例#24
0
        public void Remove_ID_ReturnsFalseAndDoesntModifyCollectionIfNodeIsNotPresent()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_nodeData.Skip(1));

            bool callResult = target.Remove(_nodeData[0].ID, EntityType.Node);

            Assert.False(callResult);
            Assert.Contains(_nodeData[1], target);
            Assert.Contains(_nodeData[2], target);
        }
示例#25
0
        public void Item_ReturnsWayWithSpecificID()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);
            IOsmGeometry entity = target[_wayData[0].ID, EntityType.Way];

            Assert.Same(_wayData[0], entity);
        }
示例#26
0
        public void Item_ReturnsNullIfIDIsNotPresentInCollection()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            Assert.Null(target[10000, EntityType.Node]);
        }
示例#27
0
        public void Add_ThrowsArgumentNullExceptionIfItemIsNull()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>();

            Assert.Throws <ArgumentNullException>(() => target.Add(null));
        }
示例#28
0
        public void Remove_IOsmGeometry_ReturnsTrueAndRemovesWayFromCollection()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_wayData);

            bool callResult = target.Remove(_wayData[0]);

            Assert.True(callResult);
            Assert.DoesNotContain(_wayData[0], target);
            Assert.Contains(_wayData[1], target);
        }
示例#29
0
        public void Add_ThrowsExceptionWhenAddingDuplicateID()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.Throws <ArgumentException>(() => target.Add(_data[0]));
        }
示例#30
0
        public void Contains_IOsmGeometry_ReturnsTrueIfCollectionContainsWay()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            Assert.True(target.Contains(_wayData[0]));
        }
示例#31
0
        public void Contains_IOsmGeometry_ReturnsFalseForNull()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.DoesNotContain(null, target);
        }
示例#32
0
        public void Contains_IOsmGeometry_ReturnsTrueIfCollectionContainsWay()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.True(target.Contains(_wayData[0]));
        }
示例#33
0
        public void Contains_IOsmGeometry_ReturnsTrueIfCollectionContainsRelation()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.Contains(_relationData[0], target);
        }
示例#34
0
        public void Contains_ID_ReturnsTrueIfCollectionContainsWayID()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            Assert.True(target.Contains(_wayData[0].ID, EntityType.Way));
        }
示例#35
0
        public void Contains_ID_ReturnsTrueIfCollectionContainsRelationID()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.True(target.Contains(_relationData[0].ID, EntityType.Relation));
        }
示例#36
0
        public void GetEnumerator_ReturnsEnumeratorThatEnumeratesAllEntities()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            IEnumerable<IOsmGeometry> result = target;

            Assert.Equal(_data.Length, target.Count());
            foreach (var entity in target) {
                Assert.Contains(entity, _data);
            }
        }
示例#37
0
        public void Contains_IOsmGeometry_ReturnsFalseForNull()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            Assert.False(target.Contains(null));
        }
示例#38
0
        public void Contains_ID_ReturnsFalseIfCollectionDoesNotContainWayID()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            Assert.False(target.Contains(10000, EntityType.Way));
        }
示例#39
0
        public void Clear_RemovesAllItemsFromCollection()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);
            target.Clear();

            Assert.Empty(target);
            Assert.Empty(target.Nodes);
            Assert.Empty(target.Ways);
            Assert.Empty(target.Relations);
        }
示例#40
0
        public void CopyTo_CopiesEntitiesToArray()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);
            IOsmGeometry[] array = new IOsmGeometry[_data.Length];

            target.CopyTo(array, 0);

            for (int i = 0; i < _data.Length; i++) {
                Assert.Same(_data[i], array[i]);
            }
        }
示例#41
0
        public void IsReadOnly_ReturnsFalse()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.False(target.IsReadOnly);
        }
示例#42
0
        public void Contains_IOsmGeometry_ReturnsFalseIfCollectionDoesNotContainWay()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.False(target.Contains(new Way(10000)));
        }
示例#43
0
        public void Add_ThrowsArgumentNullExceptionIfItemIsNull()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>();

            Assert.Throws<ArgumentNullException>(() => target.Add(null));
        }
示例#44
0
        public void Constructor__CreatesEmptyDatabase()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>();

            Assert.Empty(target);
            Assert.Empty(target.Nodes);
            Assert.Empty(target.Ways);
            Assert.Empty(target.Relations);
        }
示例#45
0
        public void Count_ReturnsNumberOfAllEntities()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.Equal(_data.Length, target.Count);
        }
示例#46
0
        public void Add_ThrowsExceptionWhenAddingDuplicateID()
        {
            OsmDatabase<IOsmGeometry, Node, Way, Relation> target = new OsmDatabase<IOsmGeometry, Node, Way, Relation>(_data);

            Assert.Throws<ArgumentException>(() => target.Add(_data[0]));
        }
示例#47
0
        public void Item_ReturnsNullIfIDIsNotPresentInCollection()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.Null(target[10000, EntityType.Node]);
        }
示例#48
0
        public void Contains_IOsmGeometry_ReturnsFalseForNull()
        {
            OsmDatabase <IOsmGeometry, Node, Way, Relation> target = new OsmDatabase <IOsmGeometry, Node, Way, Relation>(_data);

            Assert.False(target.Contains(null));
        }