public void GenerateCollectionWithNotUniquePersonsTest() { const int countOfElements = 10; var uniqueCollection = new UniqueCollection <Person>(); for (var i = 0; i < countOfElements; i++) { uniqueCollection.Add(new Person()); } Assert.Throws <ArgumentException>(() => uniqueCollection.Add(uniqueCollection.First())); Assert.AreEqual(countOfElements, uniqueCollection.Count); CollectionAssert.AllItemsAreUnique(uniqueCollection); }
private void _addFunctionMethod <T>(UniqueCollection <T> uniqueCollection, Collection <T> toAdd) { foreach (T item in toAdd) { uniqueCollection.Add(item); } }
public void GenerationUniqueCollectionWith100NotUniquePersonsTest() { int countOfElements = 100; UniqueCollection <Person> uniqueCollection = new UniqueCollection <Person>(); for (int i = 0; i < countOfElements; i++) { uniqueCollection.Add(GeneratorOfPersons.GeneratePerson()); } Person[] uniqueCollectionItems = new Person[uniqueCollection.Count]; uniqueCollection.CopyTo(uniqueCollectionItems, 0); uniqueCollection.Add(uniqueCollectionItems[countOfElements / 2]); int actual = uniqueCollection.Count; int expected = countOfElements; Assert.AreEqual(expected, actual); CollectionAssert.AllItemsAreUnique((ICollection)uniqueCollection); }
public void GenerationUniqueCollectionWith10000UniquePersonsTest() { int countOfElements = 10000; UniqueCollection <Person> uniqueCollection = new UniqueCollection <Person>(); for (int i = 0; i < countOfElements; i++) { uniqueCollection.Add(GeneratorOfPersons.GeneratePerson()); } int actual = uniqueCollection.Count; int expected = countOfElements; Assert.AreEqual(expected, actual); Assert.IsTrue(CheckForNotRepetInTheCollection(uniqueCollection)); }
public void GenerateCollectionUniquePersonsTest() { const int countOfElements = 100; var uniqueCollection = new UniqueCollection <Person>(); for (var i = 0; i < countOfElements; i++) { var p = new Person(); while (uniqueCollection.Contains(p)) { p = new Person(); } uniqueCollection.Add(p); } Assert.AreEqual(countOfElements, uniqueCollection.Count); CollectionAssert.AllItemsAreUnique(uniqueCollection); }