public void AddRemoveTest() { var cache = new WeakCache <string, TestClass>(false, value => value.Text); TestClass item = new TestClass("1"); cache.Add(item); Assert.AreEqual(1, cache.Count); item = new TestClass("2"); cache.Add(item); Assert.AreEqual(2, cache.Count); Assert.AreEqual(item, cache[item.Text, false]); ICache <string, TestClass> icache = cache; Assert.AreEqual(item, icache[item.Text, false]); Assert.AreEqual(null, icache["3", false]); cache.Remove(item); Assert.AreEqual(1, cache.Count); cache.Clear(); Assert.AreEqual(0, cache.Count); }
public static IDigitalInterrupt Bind(Pin pin, string name = null, ResistorMode internalResistorMode = ResistorMode.Disabled, InterruptMode interruptMode = InterruptMode.InterruptNone, int debounceMilliseconds = DigitalInterupt.DebounceDefault) { var result = NewInstance(pin, name, internalResistorMode, interruptMode, debounceMilliseconds); Cache.Add(pin, result); return(result); }
public void IEnumerableTest() { var cache = new WeakCache <string, TestClass>(false, value => value.Text); for (int i = 0; i < 100; i++) { cache.Add(new TestClass("item " + i)); } Assert.IsTrue(cache.Count >= 0); Assert.IsTrue(cache.Count <= 100); int itemsCount = 0; foreach (TestClass testClass in cache) { Assert.IsTrue(testClass == null || testClass.Text.StartsWith("item"), "Line 182"); itemsCount++; } Assert.IsTrue(itemsCount >= 0); Assert.IsTrue(itemsCount <= 100); TestHelper.CollectGarbage(true); itemsCount = 0; foreach (TestClass testClass in cache) { Assert.IsTrue(testClass == null || testClass.Text.StartsWith("item"), "Line 196"); itemsCount++; } Assert.IsTrue(itemsCount >= 0); Assert.IsTrue(itemsCount <= 100); }
public static IDigitalInput Bind(Pin pin, string name = null, ResistorMode internalResistorMode = ResistorMode.Disabled) { var result = NewInstance(pin, name, internalResistorMode); Cache.Add(pin, result); return(result); }
public static IAnalogInput Bind(AnalogChannel channel, string name = null) { var result = NewInstance(channel, name); Cache.Add(channel, result); return(result); }
public static IPwmOutput Bind(PwmChannel channel, string name = null) { var result = NewInstance(channel, name); Cache.Add(channel, result); return(result); }
public static IDigitalOutput Bind(Pin pin, string name = null, bool initialState = false) { var result = NewInstance(pin, name, initialState); Cache.Add(pin, result); return(result); }
private void AddItem() { int count = random.Next(100000); while (!canFinish) { lock (globalCache) { globalCache.Add(new TestClass("Item " + count)); } count++; } }
internal static void ApplyInternal(FrameworkElement control, ThemeDictionary themeResources) { ValidationHelper.NotNull(control, "control"); if (themeResources.Source == ThemeResources.Inherited) { themeResources.Control = new WeakReference(control); } control.Dispatcher.Invoke(() => ApplyCore(control.Resources, themeResources), DispatcherPriority.Render); Cache.Iterate(cachedControl => ApplyInternal(cachedControl, General.GetThemeResources(cachedControl))); Cache.Add(control); }
public void ConstructorsTest() { var cache = new WeakCache <string, TestClass>( false, value => value.Text); Assert.IsNotNull(cache.KeyExtractor); var item = new TestClass("100"); cache.Add(item); Assert.AreEqual(1, cache.Count); }
public Room GetRoom(int id, Habbo habbo = null) { Func <Habbo, Room> overrideLoader = GetOverrideLoader(id); if (overrideLoader == null) { return(_idCache[id]); } _roomIdSync.EnterWriteLock(); try { Room room = overrideLoader(habbo); _idCache.Add(room.Id, room); return(room); } finally { _roomIdSync.ExitWriteLock(); } }
public ResourceDictionary() { Cache.Add(this); }
public void AddDenyTest() { var cache = new WeakCache <string, TestClass>(false, value => value.Text); Assert.Throws <ArgumentNullException>(() => cache.Add(null)); }