public void SaveNewSettingIfNotExists()
        {
            DummySaveNewSettingDao     dao      = new DummySaveNewSettingDao();
            DummySettingCacheProvider4 provider = new DummySettingCacheProvider4(new DummyCacheManagerArguments()
            {
                SaveNewSettingDao = dao, CacheRefreshTimeout = () => TimeSpan.FromMilliseconds(0)
            });

            Assert.IsNull(SettingCacheProviderBase.LastRefreshedTime);

            DbAppSettingTestSetting domain = new DbAppSettingTestSetting();
            DbAppSettingDto         dto    = domain.ToDto();

            provider.SaveNewSettingIfNotExists(dto);

            Assert.IsTrue(dao.SaveNewSettingIfNotExistsHitCount == 1);
            Assert.IsTrue(SettingCacheProviderBase.SettingDtosByKey.Count == 1);
        }
        public void HydrateSettingFromDto()
        {
            DummySettingCacheProvider3 provider = new DummySettingCacheProvider3(new DummyCacheManagerArguments()
            {
                CacheRefreshTimeout = () => TimeSpan.FromMilliseconds(0)
            });

            Assert.IsNull(SettingCacheProviderBase.LastRefreshedTime);

            DbAppSettingTestSetting domain = new DbAppSettingTestSetting();

            DbAppSettingDto dto = domain.ToDto();

            provider.SetSettingValues(new List <DbAppSettingDto> {
                dto
            });
            Assert.IsTrue(SettingCacheProviderBase.SettingDtosByKey.Count == 1);

            provider.HydrateSettingFromDto(domain);
            Assert.IsTrue(domain.HydratedFromDataAccess);
        }