public void InitalizeSettingWatchTask_InvokeCancel()
        {
            DummySettingCacheProvider2 provider = new DummySettingCacheProvider2(new DummyCacheManagerArguments()
            {
                CacheRefreshTimeout = () => TimeSpan.FromMilliseconds(0)
            });

            Assert.IsNull(SettingCacheProviderBase.LastRefreshedTime);

            provider.InitalizeSettingCacheProvider();

            Assert.IsNotNull(SettingCacheProviderBase.LastRefreshedTime);
            Assert.IsTrue(SettingCacheProviderBase.LastRefreshedTime > DateTime.MinValue);
            Assert.IsTrue(SettingCacheProviderBase.Initalized);

            SettingCacheProviderBase.CancelTask();
            SpinWait.SpinUntil(() =>
            {
                if (SettingCacheProviderBase.SettingWatchTask == null)
                {
                    return(true);
                }

                return(SettingCacheProviderBase.SettingWatchTask.IsCompleted);
            });

            Assert.IsTrue(SettingCacheProviderBase.SettingWatchTask.IsCompleted);
        }
        public void InitalizeSettingWatchTask_GetChangedSettingsNone()
        {
            DummySettingCacheProvider2 provider = new DummySettingCacheProvider2(new DummyCacheManagerArguments()
            {
                CacheRefreshTimeout = () => TimeSpan.FromMilliseconds(0)
            });

            Assert.IsNull(SettingCacheProviderBase.LastRefreshedTime);

            provider.InitalizeSettingCacheProvider();

            Assert.IsNotNull(SettingCacheProviderBase.LastRefreshedTime);
            Assert.IsTrue(SettingCacheProviderBase.LastRefreshedTime > DateTime.MinValue);
            Assert.IsTrue(SettingCacheProviderBase.Initalized);

            SpinWait.SpinUntil(() => provider.GetChangedSettingsHitCount > 0);

            Assert.IsTrue(SettingCacheProviderBase.SettingDtosByKey.Count == 0);
        }