public void AddToEndTest() { var list = new MyLinkedList <int>(); list.AddToEnd(1); list.AddToEnd(2); list.AddToEnd(3); Assert.Equal(new[] { 1, 2, 3 }, list.ToArray()); }
public void RemoveLastIsOk() { var list = new MyLinkedList <int>(); list.AddToEnd(1); list.AddToEnd(2); list.AddToEnd(3); list.RemoveLast(); Assert.Equal(new[] { 1, 2 }, list); Assert.Equal(2, list.Count); }
public void RemoveLastWhenCount1() { var list = new MyLinkedList <int>(); list.AddToEnd(1); list.RemoveLast(); Assert.Equal(new int[] { }, list); Assert.Equal(0, list.Count); }
public void RemoveFirstWhenOnly1Element() { var list = new MyLinkedList <int>(); list.AddToEnd(1); list.RemoveFirst(); Assert.Equal(new int[] { }, list); Assert.Equal(0, list.Count); }
public void AddToEnd_End() { //arrange MyLinkedList list = new MyLinkedList(); Person p1 = new Person("1", 1); Person p2 = new Person("2", 2); list.AddToEnd(p1); list.AddToEnd(p2); Point actual = list.End; //act Point expected = new Point(p2); ////assert Assert.AreEqual(actual.next, null); Assert.AreEqual(actual, list.Begin.next); }
static void Main(string[] args) { Console.WriteLine("Hello World!"); var linkedList = new MyLinkedList(); for (int i = 6; i > 0; i--) { linkedList.AddToEnd(i); } linkedList.SwapNodesInParis(linkedList.Head); Console.WriteLine(linkedList.PrintLinkedList()); }
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(); } }