public void GetAdapters_RunInternalOnce() { m_sut.GetAdapters(); m_sut.GetAdapters(); m_mock.Verify(x => x.GetAdapters(), Times.Once); }
public IEnumerable <AdapterInfo> GetAdapters() { try { Log.Logger.Information("API: GetAdapters"); var adapters = m_adapterService.GetAdapters(); Log.Logger.Debug($"API: GetAdapters.Result: {JsonConvert.SerializeObject( adapters )}"); return(adapters); } catch (Exception e) { Log.Logger.Error(e, $"API: GetAdapters.Exception: {e.Message}"); throw; } }
IEnumerable <AdapterInfo> IAdapterService.GetAdapters() { string key = "GetAdapters"; if (m_cache.TryGetValue(key, out object cacheValue) && cacheValue is IEnumerable <AdapterInfo> cachedAdapters) { return(cachedAdapters); } var adapters = m_adapterService.GetAdapters().ToArray(); m_cache.Set(key, adapters, m_cacheEntryOptions); return(adapters); }
public void GetAdapters_100_1s() { var pureSw = Stopwatch.StartNew(); Enumerable.Range(1, 100).ToList() .ForEach((i) => { m_adapterService.GetAdapters(); }); pureSw.Stop(); m_testOutputHelper.WriteLine($"AdapterService.GetAdapters() x 100: {pureSw.Elapsed} elapsed"); var cachedSw = Stopwatch.StartNew(); Enumerable.Range(1, 100).ToList() .ForEach((i) => { m_cachedAdapterService.GetAdapters(); }); cachedSw.Stop(); m_testOutputHelper.WriteLine($"CachedAdapterService.GetAdapters() x 100: {cachedSw.Elapsed} elapsed"); Assert.True(cachedSw.Elapsed < TimeSpan.FromSeconds(1)); }
public AdapterServiceTests() { m_sut = new AdapterService(); m_adapters = m_sut.GetAdapters(); }