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); }
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); }