public void Subsequent_requests_get_from_cache()
        {
            var i = 0;

            var cacheFn = (Func<ModelWithFieldsOfDifferentTypes>)
            (() => ModelWithFieldsOfDifferentTypes.Create(i++));

            var dto = cacheFn();

            var cacheManager = new XmlCacheManager(CreateCacheClient());

            var cacheKey = dto.CreateUrn();
            var dtoXml = cacheManager.ResolveText(cacheKey, cacheFn);

            var dto1 = DataContractDeserializer.Instance
                .Parse<ModelWithFieldsOfDifferentTypes>(dtoXml);

            Assert.That(dto1.Id, Is.EqualTo(1));

            dtoXml = cacheManager.ResolveText(cacheKey, cacheFn);

            var dto2 = DataContractDeserializer.Instance
                .Parse<ModelWithFieldsOfDifferentTypes>(dtoXml);

            Assert.That(dto2.Id, Is.EqualTo(1));
        }
        public void Subsequent_requests_get_from_cache()
        {
            var i = 0;

            var cacheFn = (Func <ModelWithFieldsOfDifferentTypes>)
                              (() => ModelWithFieldsOfDifferentTypes.Create(i++));

            var dto = cacheFn();

            var cacheManager = new XmlCacheManager(CreateCacheClient());

            var cacheKey = dto.CreateUrn();
            var dtoXml   = cacheManager.ResolveText(cacheKey, cacheFn);

            var dto1 = DataContractDeserializer.Instance
                       .Parse <ModelWithFieldsOfDifferentTypes>(dtoXml);

            Assert.That(dto1.Id, Is.EqualTo(1));

            dtoXml = cacheManager.ResolveText(cacheKey, cacheFn);

            var dto2 = DataContractDeserializer.Instance
                       .Parse <ModelWithFieldsOfDifferentTypes>(dtoXml);

            Assert.That(dto2.Id, Is.EqualTo(1));
        }
        public void Caches_results_as_string()
        {
            var dto = ModelWithFieldsOfDifferentTypes.Create(1);
            var expectedXml = DataContractSerializer.Instance.Parse(dto);

            var cacheManager = new XmlCacheManager(CreateCacheClient());

            var cacheKey = dto.CreateUrn();
            var dtoXml = cacheManager.ResolveText(cacheKey, () => dto);

            Assert.That(dtoXml, Is.EqualTo(expectedXml));
        }
        public void Caches_results_as_string()
        {
            var dto         = ModelWithFieldsOfDifferentTypes.Create(1);
            var expectedXml = DataContractSerializer.Instance.Parse(dto);

            var cacheManager = new XmlCacheManager(CreateCacheClient());

            var cacheKey = dto.CreateUrn();
            var dtoXml   = cacheManager.ResolveText(cacheKey, () => dto);

            Assert.That(dtoXml, Is.EqualTo(expectedXml));
        }
        public void SetUp()
        {
            //StreamExtensionsTests.DeflateProvider = new ICSharpDeflateProvider();
            //StreamExtensionsTests.GZipProvider = new ICSharpGZipProvider();

            this.cacheClient      = new MemoryCacheClient();
            this.cacheTextManager = new XmlCacheManager(this.cacheClient);
            this.fileCacheManager = Create(cacheTextManager);
            this.idValue          = Guid.NewGuid().ToString();
            this.cacheKeys        = GetCacheKeys <ModelWithFieldsOfDifferentTypes>(idValue);

            if (Directory.Exists(appDataPath))
            {
                try
                {
                    Directory.Delete(appDataPath, true);
                    Directory.CreateDirectory(appDataPath);
                }
                catch (Exception ignore) {}
            }
        }
 public FileAndCacheTextManager Create(XmlCacheManager xmlCacheManager)
 {
     return(new FileAndCacheTextManager(appDataPath, xmlCacheManager));
 }