public void ThreadedReaderValueRemoved() { var comparer = new SynchronizedComparer(); var dict = new AnalysisDictionary <Hashable, string>(comparer); var key = new Hashable(1, HashEquals); dict[key] = "0"; var thread = new Thread(() => { comparer.EqualWaiting.WaitOne(); dict.Remove(key); dict[new Hashable(1)] = "1"; comparer.DictUpdated.Set(); }); thread.Start(); Assert.IsFalse(dict.ContainsKey(new Hashable(1, HashEquals))); }
public void TestThreadedReaderUpdatedValue() { var comparer = new SynchronizedComparer(); var dict = new AnalysisDictionary <Hashable, string>(comparer); var key = new Hashable(1, HashEquals); dict[key] = "0"; var thread = new Thread(() => { comparer.EqualWaiting.WaitOne(); dict.Remove(key); dict[new Hashable(1, HashEquals)] = "1"; comparer.DictUpdated.Set(); }); thread.Start(); Assert.AreEqual("1", dict[new Hashable(1, HashEquals)]); }