public void Exists() { var bag1 = new Bag <double>(new[] { 4.5, 187.4, 1.2, 7.6, -7.6, -0.04, 1.2, 1.78, 10.11, 187.4 }); Assert.IsTrue(bag1.Exists(d => d > 100)); Assert.IsTrue(bag1.Exists(d => Math.Abs(d) == 0.04)); Assert.IsFalse(bag1.Exists(d => d < -10.0)); bag1.Clear(); Assert.IsFalse(bag1.Exists(d => Math.Abs(d) == 0.04)); }
public void CountWhere() { Bag <double> bag1 = new Bag <double>(new double[] { 4.5, 187.4, 1.2, 7.6, -7.6, -0.04, 1.2, 1.78, 10.11, 187.4 }); Assert.AreEqual(0, bag1.CountWhere(d => d > 200)); Assert.AreEqual(7, bag1.CountWhere(d => Math.Abs(d) < 10)); Assert.AreEqual(10, bag1.CountWhere(d => d > -10)); Assert.AreEqual(5, bag1.CountWhere(d => Math.Abs(d) > 5)); bag1.Clear(); Assert.AreEqual(0, bag1.CountWhere(d => Math.Abs(d) < 10)); }
public void TrueForAll() { Bag <double> bag1 = new Bag <double>(new double[] { 4.5, 187.4, 1.2, 7.6, -7.6, -0.04, 1.2, 1.78, 10.11, 187.4 }); Assert.IsFalse(bag1.TrueForAll(d => d > 100)); Assert.IsFalse(bag1.TrueForAll(d => Math.Abs(d) < 10)); Assert.IsTrue(bag1.TrueForAll(d => d > -10)); Assert.IsTrue(bag1.TrueForAll(d => Math.Abs(d) < 200)); bag1.Clear(); Assert.IsTrue(bag1.TrueForAll(d => Math.Abs(d) == 0.04)); }
public void FailFastEnumerator2() { var bag1 = new Bag <double>(); double d = 1.218034; for (var i = 0; i < 50; ++i) { bag1.Add(d); d = d * 1.3451 - .31; } // should throw once the bag is modified. foreach (double k in bag1.Where(k => k > 3.0)) { bag1.Clear(); } }
public void AddMany() { string[] s_array = { "FOO", "x", "elmer", "fudd", "Clapton", null }; var bag1 = new Bag <string>(StringComparer.InvariantCultureIgnoreCase) { "foo", "Eric", "Clapton" }; bag1.AddMany(s_array); InterfaceTests.TestReadWriteCollectionGeneric(bag1, new[] { null, "Clapton", "Clapton", "elmer", "Eric", "foo", "foo", "fudd", "x" }, false); bag1.Clear(); bag1.Add("foo"); bag1.Add("Eric"); bag1.AddMany(bag1); InterfaceTests.TestReadWriteCollectionGeneric(bag1, new[] { "Eric", "Eric", "foo", "foo" }, false); }
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); }
public void Remove() { var bag1 = new Bag <string>(StringComparer.InvariantCultureIgnoreCase); var b = bag1.Remove("Eric"); Assert.IsFalse(b); bag1.Add("hello"); bag1.Add("foo"); bag1.Add(null); bag1.Add(null); bag1.Add("HELLO"); bag1.Add("Hello"); b = bag1.Remove("hello"); Assert.IsTrue(b); InterfaceTests.TestCollection(bag1, new string[] { null, null, "foo", "hello", "hello" }, false); b = bag1.Remove("Hello"); Assert.IsTrue(b); b = bag1.Remove(null); Assert.IsTrue(b); b = bag1.Remove(null); Assert.IsTrue(b); b = bag1.Remove(null); Assert.IsFalse(b); bag1.Add("Hello"); bag1.Add("Eric"); bag1.Add(null); b = bag1.Remove(null); Assert.IsTrue(b); bag1.Add("ERIC"); b = bag1.Remove("eRic"); Assert.IsTrue(b); b = bag1.Remove("eRic"); Assert.IsTrue(b); bag1.Clear(); b = bag1.Remove(""); Assert.IsFalse(b); }
public void RemoveMany() { var bag1 = new Bag <string>(StringComparer.InvariantCultureIgnoreCase) { "foo", "Eric", "Clapton", null, "Foo", "fudd", "elmer" }; string[] s_array = { "FOO", "jasmine", "eric", null }; int count = bag1.RemoveMany(s_array); Assert.AreEqual(3, count); InterfaceTests.TestReadWriteCollectionGeneric(bag1, new[] { "Clapton", "elmer", "foo", "fudd" }, false); bag1.Clear(); bag1.Add("foo"); bag1.Add("Eric"); bag1.Add("Clapton"); bag1.Add(null); bag1.Add("Foo"); count = bag1.RemoveMany(bag1); Assert.AreEqual(5, count); Assert.AreEqual(0, bag1.Count); }