public void ObjectRetrievedFromFirstLevelCacheShouldNotBeClonedIfTheyAreFromASpecificNameSpace()
        {
            var namespaceCloningProvider = new NamespacesBasedCloningProvider(new [] { "System" });
            var cache = new SquirrelCache(_config, namespaceCloningProvider, _serializationProvider);

            var testObject2           = EqualityComparer <string> .Default;
            var serializedTestObject2 = KrakenSerializer.Serialize(testObject2);

            var key1 = RandomKey();
            var key2 = RandomKey();

            cache.Set(key1, _serializedTestObject);
            cache.Set(key2, serializedTestObject2);

            var obj1_1 = cache.Get <object>(key1).Value;
            var obj1_2 = cache.Get <object>(key1).Value;

            Assert.NotNull(obj1_1);
            Assert.True(ReferenceEquals(obj1_1, obj1_2));

            var obj2_1 = cache.Get <object>(key2).Value;
            var obj2_2 = cache.Get <object>(key2).Value;

            Assert.NotNull(obj2_1);
            Assert.False(ReferenceEquals(obj2_1, obj2_2));
        }
        public void NamespacesBasedCloningProviderShouldReturnFalseForNullObjects()
        {
            var namespaceCloningProvider = new NamespacesBasedCloningProvider(new [] { "DesertOctopus.MammothCache.Tests" });

            Assert.False(namespaceCloningProvider.RequireCloning(null));
        }