/// <inheritdoc /> public async Task <PointOfInterestExtended> GetPointOfInterestById(string id, string language, string type = null) { var feature = await _wikipediaGateway.GetById(id); var mainFeature = feature.Features.First(); var poiItem = await ConvertToPoiItem <PointOfInterestExtended>(mainFeature, language); await AddExtendedData(poiItem, mainFeature, language); poiItem.IsRoute = false; return(poiItem); }
public void GetPointOfInterestById_WrongLanguage_ShouldReturnNull() { var poiId = "42"; var language = "en"; var feature = GetValidFeature(poiId, _adapter.Source); feature.Attributes.AddAttribute(FeatureAttributes.POI_LANGUAGE, "he"); var featureCollection = new FeatureCollection { Features = { feature } }; _dataContainerConverterService.ToDataContainer(Arg.Any <byte[]>(), Arg.Any <string>()).Returns(new DataContainer { Routes = new List <RouteData>() }); _wikipediaGateway.GetById(poiId).Returns(featureCollection); var results = _adapter.GetPointOfInterestById(poiId, language).Result; Assert.IsNull(results); }
/// <inheritdoc /> public override async Task <PointOfInterestExtended> GetPointOfInterestById(string id, string language) { var featureCollection = await GetFromCacheIfExists(id); if (featureCollection == null) { featureCollection = await _wikipediaGateway.GetById(id); SetToCache(featureCollection); } var mainFeature = featureCollection.Features.First(); if (!mainFeature.Attributes[FeatureAttributes.POI_LANGUAGE].Equals(language)) { return(null); } var poiItem = await ConvertToPoiExtended(featureCollection, language); poiItem.IsRoute = false; return(poiItem); }
/// <inheritdoc /> public override Task <Feature> GetRawPointOfInterestById(string id) { return(_wikipediaGateway.GetById(id)); }