public void GetThrowException()
        {
            var cache = A.Fake<ICache>();
            var valueProvider = A.Fake<IValueProvider>();
            var settings = new Dictionary<string, string>();

            var obj = new CacheProvider(cache, valueProvider, settings);

            obj.GetAll().ToList();
        }
        public void Create()
        {
            var cache = A.Fake<ICache>();
            var valueProvider = A.Fake<IValueProvider>();
            var settings = A.Fake<IDictionary<string, string>>();

            var obj = new CacheProvider(cache, valueProvider, settings);

            Assert.IsNotNull(obj);
        }
        public void Get()
        {
            var underData = new List<object[]> { new object[] { 1 }, new object[] { 2 } };
            var cacheData = new List<object[]>();
            var cache = A.Fake<ICache>();
            var valueProvider = A.Fake<IValueProvider>();
            var settings = new Dictionary<string, string> { { Keys.Cache, "key" } };

            A.CallTo(() => cache.Pick<IList<object[]>>(A<string>.Ignored)).Returns(cacheData);
            A.CallTo(() => valueProvider.GetAll()).Returns(underData);

            var obj = new CacheProvider(cache, valueProvider, settings);

            var result = obj.GetAll();

            var i = 0;
            foreach (var t in result)
            {
                Assert.True((int)t[0] == (int)underData[i++][0]);
            }
            Assert.True(cacheData.Count == 2);
        }