public void op_Get_string_FuncObject_whenMissing()
        {
            var obj = new MemoryCacheCollection();

            try
            {
                var key    = AlphaDecimal.Random();
                var actual = obj.Get(key, AddObject);

                Assert.NotNull(actual);
            }
            finally
            {
                obj.Clear();
            }
        }
        public void op_Get_string_FuncICacheCollectionT_whenMissing()
        {
            var obj = new MemoryCacheCollection();

            try
            {
                var key    = AlphaDecimal.Random();
                var actual = obj.Get <DateTime>(key, AddToCacheOfT <DateTime>);

                Assert.NotNull(actual);
            }
            finally
            {
                obj.Clear();
            }
        }
        public void op_Get_string_FuncT_whenMissing()
        {
            var obj = new MemoryCacheCollection();

            try
            {
                var key      = AlphaDecimal.Random();
                var expected = default(DateTime);
                var actual   = obj.Get <DateTime>(key, AddOfT <DateTime>);

                Assert.Equal(expected, actual);
            }
            finally
            {
                obj.Clear();
            }
        }
        public void op_Get_string()
        {
            var obj = new MemoryCacheCollection();

            try
            {
                var key      = AlphaDecimal.Random();
                var expected = new object();
                obj[key] = expected;
                var actual = obj.Get(key);

                Assert.Same(expected, actual);
            }
            finally
            {
                obj.Clear();
            }
        }
        public void op_GetOfT_string()
        {
            var obj = new MemoryCacheCollection();

            try
            {
                var       key      = AlphaDecimal.Random();
                const int expected = 123;
                obj[key] = expected;
                var actual = obj.Get <int>(key);

                Assert.Equal(expected, actual);
            }
            finally
            {
                obj.Clear();
            }
        }
        public void op_Get_string_FuncTNull()
        {
            var obj = new MemoryCacheCollection();

            Assert.Throws <ArgumentNullException>(() => obj.Get(AlphaDecimal.Random(), null as Func <DateTime>));
        }