Exemplo n.º 1
0
        public IEnumerable <ICurrentConditions> GetCurrentConditions(Coordinates coordinates)
        {
            var result = new List <ICurrentConditions>();

            foreach (var func in this.getForecast)
            {
                ICurrentConditions currentConditions = null;
                try
                {
                    currentConditions = func(coordinates);
                }
                catch (Exception e)
                {
                    this.notifyAboutError(e);
                }

                if (currentConditions == null)
                {
                    continue;
                }
                result.Add(currentConditions);
            }
            if (result.Count > 1)
            {
                try
                {
                    var aggregated = this.aggregate(result);
                    if (aggregated != null)
                    {
                        result.Add(aggregated);
                    }
                }
                catch (Exception e)
                {
                    this.notifyAboutError(e);
                }
            }
            return(result);
        }
Exemplo n.º 2
0
 private static Func <Coordinates, ICurrentConditions> ToForecastSource(ICurrentConditions currentConditions)
 {
     return(new GetForecastMock().SetupForecast(currentConditions).Object);
 }