public void AddToBegin_Begin() { //arrange MyLinkedList list = new MyLinkedList(); Person p1 = new Person("1", 1); Person p2 = new Person("2", 2); list.AddToBegin(p1); list.AddToBegin(p2); Point actual = list.Begin; //act Point expected = new Point(p2); ////assert Assert.AreEqual(actual.next, list.End); Assert.AreEqual(actual.pred, null); }
private static void Task2() { { int menu = 1; MyLinkedList linlkedList = new MyLinkedList(); do { menu = Task1_Menu(); Console.Clear(); switch (menu) { case 1: //формирование коллеции int size = ReadNumber(-1, 50, "Введите размер однонаправленного списка: "); linlkedList = new MyLinkedList(size); //создание списка linlkedList.PrintList(); break; case 2: //добавление в коллекцию int add = ReadNumber(0, 4, "1. В начало" + "\n2. В конец" + "\n3. После элемента\n"); switch (add) { //в начало case 1: linlkedList.AddToBegin(MakeObject()); break; //в конец case 2: linlkedList.AddToEnd(MakeObject()); break; case 3: Console.WriteLine("Введите ключ для поиска: "); Person key = MakeObject(); Console.WriteLine("Введите элемент для добавления после ключа: "); Person addAfterKey = MakeObject(); linlkedList.AddAfterKey(key, addAfterKey); break; } linlkedList.PrintList(); break; case 3: Console.WriteLine("Удаление по ключу:"); linlkedList.RemoveKey(MakeObject()); linlkedList.PrintList(); break; case 4: //клонирование int clone = ReadNumber(0, 3, "1. Глубокое клонирование" + "\n2. Поверхностное\n"); switch (clone) { //полное case 1: MyLinkedList listClone = linlkedList.Clone(); Console.WriteLine("Копия создана"); listClone.PrintList(); break; //поверхностниое case 2: MyLinkedList listShallowCopy = linlkedList.ShallowCopy(); Console.WriteLine("Копия создана"); listShallowCopy.PrintList(); break; } break; case 5: Console.WriteLine($"Размер коллекции: {linlkedList.Count()}"); Console.ReadKey(); //Подсчет количества объектов break; case 6: linlkedList.PrintList(); //печать break; } Console.Clear(); } while (menu != 7); linlkedList.RemoveCollection(); } }