public void RemoveAllCopies() { var bag1 = new Bag <string>(StringComparer.InvariantCultureIgnoreCase); var i = bag1.RemoveAllCopies("Eric"); Assert.AreEqual(0, i); bag1.Add("hello"); bag1.Add("foo"); bag1.Add(null); bag1.Add(null); bag1.Add("hello"); bag1.Add(null); i = bag1.RemoveAllCopies("HELLO"); Assert.AreEqual(2, i); i = bag1.RemoveAllCopies("Hello"); Assert.AreEqual(0, i); i = bag1.RemoveAllCopies(null); Assert.AreEqual(3, i); bag1.Add("Hello"); bag1.Add("Eric"); bag1.Add(null); i = bag1.RemoveAllCopies(null); Assert.AreEqual(1, i); bag1.Add("ERIC"); i = bag1.RemoveAllCopies("eRic"); Assert.AreEqual(2, i); }
public void CountAndClear() { var bag1 = new Bag <string>(StringComparer.InvariantCultureIgnoreCase); Assert.AreEqual(0, bag1.Count); bag1.Add("hello"); Assert.AreEqual(1, bag1.Count); bag1.Add("foo"); Assert.AreEqual(2, bag1.Count); bag1.Add(""); Assert.AreEqual(3, bag1.Count); bag1.Add("HELLO"); Assert.AreEqual(4, bag1.Count); bag1.Add("foo"); Assert.AreEqual(5, bag1.Count); bag1.Remove(""); Assert.AreEqual(4, bag1.Count); bag1.Add(null); Assert.AreEqual(5, bag1.Count); bag1.Add("Hello"); Assert.AreEqual(6, bag1.Count); bag1.Add("Eric"); Assert.AreEqual(7, bag1.Count); bag1.RemoveAllCopies("hElLo"); Assert.AreEqual(4, bag1.Count); bag1.Add(null); Assert.AreEqual(5, bag1.Count); bag1.Clear(); Assert.AreEqual(0, bag1.Count); var found = false; foreach (var s in bag1) { found = true; } Assert.IsFalse(found); }