public void WeakCollectionFromEnumerable() { var items = Enumerable.Range(0, 10).Select(x => x.ToString(CultureInfo.InvariantCulture)).ToArray(); var wc = new WeakCollection <string>(items); Assert.Equal(10, wc.CapCount); Assert.Equal(10, wc.Count); Assert.True(wc.SequenceEqual(items)); }
public void RemoveWorksAfterCollect() { var arr = new[] { "a", "b" }; var wc = new WeakCollection <string>(arr); { wc.Add(new string('c', 1)); wc.Add(new string('d', 1)); wc.Add(new string('c', 1)); } GCEx.CollectAndWait(); Assert.False(wc.Remove("c")); Assert.False(wc.Remove("d")); Assert.True(wc.SequenceEqual(new[] { "a", "b" })); }