public TagifyModel(UniqueCollection <TagName> whitelistTags, UniqueCollection <TagName> selectedTags, string inputFieldSelector) { WhitelistTags = Guard.NotNull(whitelistTags, nameof(whitelistTags)); SelectedTags = Guard.NotNull(selectedTags, nameof(selectedTags)); InputFieldSelector = Guard.NotNull(inputFieldSelector, nameof(inputFieldSelector)); }
private void _addFunctionMethod <T>(UniqueCollection <T> uniqueCollection, Collection <T> toAdd) { foreach (T item in toAdd) { uniqueCollection.Add(item); } }
public TaskPage36() { ConsoleTool.WriteLineConsoleGreenMessage("Пробуем добавлять в нашу уникальную коллекцию не совсем уникальные элементы (string). Ждем исключение: "); uniqueStringCollection = new UniqueCollection <string>(); try { uniqueStringCollection.AddItem("тест"); uniqueStringCollection.AddItem("тест2"); uniqueStringCollection.AddItem("тест"); } catch (ItemIsAlreadyExistsException e) { Console.WriteLine(e.Message); } ConsoleTool.WriteLineConsoleGreenMessage("Пробуем добавлять в нашу уникальную коллекцию не совсем уникальные элементы (int). Ждем исключение: "); uniqueIntCollection = new UniqueCollection <int>(); try { uniqueIntCollection.AddItem(5); uniqueIntCollection.AddItem(3); uniqueIntCollection.AddItem(5); } catch (ItemIsAlreadyExistsException e) { Console.WriteLine(e.Message); } ConsoleTool.WriteLineConsoleGreenMessage("Пробуем добавлять в нашу уникальную коллекцию не совсем уникальные элементы (Person). Ждем исключение: "); uniquePersonCollection = new UniqueCollection <Person>(); try { uniquePersonCollection.AddItem(new Person() { FirstName = "Иван", LastName = "Иванов", PaterName = "Иванович", BirthPlace = "Москва", Passport = "44534233423dsd3" }); uniquePersonCollection.AddItem(new Person() { FirstName = "Степанов", LastName = "Игорь", PaterName = "Сергеевич", BirthPlace = "Брянск", Passport = "4453422334231sd3" }); uniquePersonCollection.AddItem(new Person() { FirstName = "Иван", LastName = "Иванов", PaterName = "Иванович", BirthPlace = "Москва", Passport = "44534233423dsd3" }); } catch (ItemIsAlreadyExistsException e) { Console.WriteLine(e.Message); } }
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 _tryAddingAnElementToUniqueCollection <T>(AddFunction <T> addFunction, Collection <T> toAdd) { UniqueCollection <T> uniqueCollection = new UniqueCollection <T>(); try { addFunction(uniqueCollection, toAdd); } catch (Exception e) { Console.WriteLine(e.Message); } finally { uniqueCollection.Print(); } }
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 bool CheckForNotRepetInTheCollection <T>(UniqueCollection <T> uniqueCollection) { HashSet <T> hs = new HashSet <T>(); foreach (var item in uniqueCollection) { try { hs.Add(item); } catch (ArgumentException) { Console.WriteLine("Коллекция не уникальна. В ней найдены два одинаковых элемента."); return(false); } } return(true); }
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); }
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 GenerateUniqueCollectionWithNotUniqueDoubleItemsTest() { UniqueCollection <double> uniqueCollection = new UniqueCollection <double> { 12.12, 5.5, 6.3, 2.2, 5.5 }; List <double> list = new List <double>() { 12.12, 5.5, 6.3, 2.2 }; int actual = uniqueCollection.Count; int expected = list.Count; Assert.AreEqual(expected, actual); CollectionAssert.AreEqual((ICollection)uniqueCollection, list); CollectionAssert.AllItemsAreUnique((ICollection)uniqueCollection); }
public GrammarAttributes() { Rules = new UniqueCollection <string, IRule>(r => r.Identifier.Name, StringComparer.OrdinalIgnoreCase); }