private Task <IEnumerable <CurrencyRatesSnapshot> > DeserializeTestDataAsync() { // Arrange: ICurrencyRateDeserializer deserializer = new EcbXmlCurrencyRateDeserializer(); using (var stream = GetStreamFromString(SampleXml)) { // Act: return(deserializer.DeserializeCurrencyRatesAsync(stream)); } }
public static void AddXch(this IServiceCollection services, string currencyServiceUri, TimeSpan currencyCacheTimoutInterval) { Func <IBasicHttpWebRequestExecutor> webRequestFactory = () => new BasicHttpWebRequestExecutor(); services.AddSingleton(webRequestFactory); ICurrencyRateDeserializer deserializer = new EcbXmlCurrencyRateDeserializer(); services.AddSingleton(deserializer); var basicProvider = new BasicCurrencyRateProvider(currencyServiceUri, webRequestFactory, deserializer); ICurrencyRateProvider cachingProvider = new CachingCurrencyRateProvider(basicProvider, currencyCacheTimoutInterval, true); services.AddSingleton(cachingProvider); }