Пример #1
0
        public void CleanCache_removes_specified_items_from_cache()
        {            
            var value1 = new object();
            var value2 = new object();

            var instance = new CachingObjectMapper<object, object>(_ => new object());

            var value1_mapped1 = instance.MapObject(value1);
            var value2_mapped1 = instance.MapObject(value2);


            instance.CleanCache(new[] { value1 });

            var value1_mapped2 = instance.MapObject(value1);
            var value2_mapped2 = instance.MapObject(value2);

            Assert.Same(value1_mapped1, value1_mapped2);
            Assert.NotSame(value2_mapped1, value2_mapped2);

        }
Пример #2
0
        public void CleanCache_uses_the_specified_equality_comparer()
        {
            var value1 = "foo";
            var value2 = "bar";

            var instance = new CachingObjectMapper<string, object>(str => new object(), StringComparer.CurrentCultureIgnoreCase);

            var value1_mapped1 = instance.MapObject(value1);
            var value2_mapped1 = instance.MapObject(value2);


            instance.CleanCache(new[] { value1.ToUpper() });

            var value1_mapped2 = instance.MapObject(value1);
            var value2_mapped2 = instance.MapObject(value2);

        }