public void GetFeatureBasedMapDataRecursively_CollectionWithNestedData_ReturnAllFeatureBasedMapData()
        {
            // Setup
            var line             = new MapLineData("line");
            var polygon          = new MapPolygonData("polygon");
            var nestedCollection = new MapDataCollection("nested");

            nestedCollection.Add(line);
            nestedCollection.Add(polygon);

            var collection = new MapDataCollection("test");
            var point      = new MapPointData("point");

            collection.Add(point);
            collection.Add(nestedCollection);

            // Call
            FeatureBasedMapData[] featureBasedMapDatas = collection.GetFeatureBasedMapDataRecursively().ToArray();

            // Assert
            Assert.AreEqual(3, featureBasedMapDatas.Length);
            Assert.IsInstanceOf <MapPointData>(featureBasedMapDatas[0]);
            Assert.IsInstanceOf <MapLineData>(featureBasedMapDatas[1]);
            Assert.IsInstanceOf <MapPolygonData>(featureBasedMapDatas[2]);
        }