static void Main(string[] args) { MyLinkedList<int> list = new MyLinkedList<int>(); list.AddFirst(5); list.AddAfter(list.FirstElement, -1); Console.WriteLine(list); list.AddFirst(9); Console.WriteLine(list); list.Remove(5); Console.WriteLine(list); return; Console.WriteLine(); Console.WriteLine(list); list.AddLast(10); Console.WriteLine(list); list.AddAfter(list.FirstElement, 111); Console.WriteLine(list); list.AddAfter(list.FirstElement.NextItem, -100); Console.WriteLine(list); list.AddBefore(list.FirstElement.NextItem, 999); Console.WriteLine(list); list.AddBefore(list.FirstElement.NextItem.NextItem.NextItem, 800); Console.WriteLine(list); }
public void AddBefore_AddsBefore(long index) { var itemToAdd = new MyLinkedListNode <string>("added"); _list.AddBefore(itemToAdd, _list[index]); Assert.AreEqual(itemToAdd, _list[index]); Assert.AreEqual(_listCount + 1, _list.Count); Assert.True(FilledListOkay); }
public void AddBefore_FailsOnNull_OnEmpty() { void act() { MyLinkedListNode <string> relItem = null; _emptyList.AddBefore(new MyLinkedListNode <string>("toAdd"), relItem); } Assert.Throws <ArgumentNullException>(new TestDelegate(act)); Assert.True(EmptyListOkay); }
private static void TestMyLinkedList() { MyLinkedList<int> foo = new MyLinkedList<int>(); foo.AddLast(1); foo.AddLast(2); foo.AddLast(3); try { foo.AddBefore(foo.First.Next.Next.Next, 7); foreach (int item in foo) { Console.WriteLine(item); } } catch (InvalidOperationException e) { Console.WriteLine(e.Message); } Console.WriteLine("---------"); foo.Remove(7); foreach(int item in foo) { Console.WriteLine(item); } }
public void TestAddBefore() { string[] values = { "a", "b", "c", "d", "e" }; MyLinkedList <string> l = new MyLinkedList <string>(values); l.AddBefore(l.First.Next, "w"); bool result = l.First.Next.Value == "w"; Assert.AreEqual(true, result); }
static void Main() { Console.WriteLine("Dot Net LinkedList"); LinkedList<int> dotNetList = new LinkedList<int>(); dotNetList.AddFirst(3); dotNetList.AddFirst(1); dotNetList.AddBefore(dotNetList.Last, 2); dotNetList.AddBefore(dotNetList.First, 4); dotNetList.AddAfter(dotNetList.Last, 5); dotNetList.AddAfter(dotNetList.First, 6); dotNetList.AddLast(7); dotNetList.AddLast(8); dotNetList.RemoveFirst(); dotNetList.RemoveLast(); foreach (var item in dotNetList) { Console.WriteLine(item); } Console.WriteLine("Dot Net LinkedList.Count = {0}", dotNetList.Count); Console.WriteLine(); Console.WriteLine("My LinkedList<T>"); MyLinkedList<int> myList = new MyLinkedList<int>(); myList.AddFirst(3); myList.AddFirst(1); myList.AddBefore(myList.Last, 2); myList.AddBefore(myList.First, 4); myList.AddAfter(myList.Last, 5); myList.AddAfter(myList.First, 6); myList.AddLast(7); myList.AddLast(8); myList.RemoveFirst(); myList.RemoveLast(); foreach (var number in myList) { Console.WriteLine(number); } Console.WriteLine("MyList.Count = {0}", myList.Count); }
public void AddBeforeTest() { MyLinkedList <string> list = new MyLinkedList <string>(); CollectionAssert.AreEqual(new string[] { }, list); var node = list.AddLast("abs"); CollectionAssert.AreEqual(new string[] { "abs" }, list); list.AddBefore(node, "zz"); UnitTest.Writer.WriteAll <string>(list); CollectionAssert.AreEqual(new string[] { "zz", "abs" }, list); }
public void TestAddBeforeExisting() { string[] values = { "a", "b", "c", "d", "e" }; MyLinkedList <string> l = new MyLinkedList <string>(values); bool result = true; try { l.AddBefore(l.First, l.Last); } catch { result = false; } Assert.AreEqual(false, result); }
public void TestAddBeforeDoesnotBelong() { string[] values = { "a", "b", "c", "d", "e" }; MyLinkedList <string> l = new MyLinkedList <string>(values); MyLinkedListNode <string> n = new MyLinkedListNode <string>(); bool result = true; try { l.AddBefore(n, "a"); } catch { result = false; } Assert.AreEqual(false, result); }
private void ArrangeAndActUponLinkedLists(LinkedList <int> originalLinkedList, MyLinkedList <int> myLinkedList) { LinkedListNode <int> fiveHundredListNode = new LinkedListNode <int>(500); LinkedListNode <int> tenListNode = new LinkedListNode <int>(10); LinkedListNode <int> last = new LinkedListNode <int>(666); MyLinkedListNode <int> myFiveHundredListNode = new MyLinkedListNode <int>(500); MyLinkedListNode <int> myTenListNode = new MyLinkedListNode <int>(10); MyLinkedListNode <int> myLast = new MyLinkedListNode <int>(666); originalLinkedList.AddFirst(tenListNode); originalLinkedList.AddBefore(tenListNode, 9); originalLinkedList.AddAfter(tenListNode, fiveHundredListNode); originalLinkedList.AddLast(last); originalLinkedList.Remove(10); originalLinkedList.AddAfter(last, 777); originalLinkedList.Remove(fiveHundredListNode); originalLinkedList.RemoveFirst(); originalLinkedList.RemoveLast(); originalLinkedList.Clear(); originalLinkedList.AddLast(5); originalLinkedList.RemoveFirst(); myLinkedList.AddFirst(myTenListNode); myLinkedList.AddBefore(myTenListNode, 9); myLinkedList.AddAfter(myTenListNode, myFiveHundredListNode); myLinkedList.AddLast(myLast); myLinkedList.Remove(10); myLinkedList.AddAfter(myLast, 777); myLinkedList.Remove(myFiveHundredListNode); myLinkedList.RemoveFirst(); myLinkedList.RemoveLast(); myLinkedList.Clear(); myLinkedList.AddLast(5); myLinkedList.RemoveFirst(); }
static void TestSinglyLinkedList() { Console.WriteLine(" ***** Singly Linked List Implementation ***** "); MyLinkedList <int> testList = new MyLinkedList <int>(); //testing AddFirst for (int i = 0; i < 6; i++) { testList.AddFirst(i); } CollectionToString CtoS = new CollectionToString(); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //test reverse testList.Reverse(); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //test AddLast testList.AddLast(7); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //test AddAfter //after head testList.AddAfter(5, 6); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //in middle testList.AddAfter(4, 5); //after end testList.AddAfter(7, 8); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //handle miss testList.AddAfter(9, 3); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //test AddBefore //before head testList.AddBefore(5, 4); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //in middle testList.AddBefore(3, 4); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //before last testList.AddBefore(8, 7); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //handle miss testList.AddBefore(9, 3); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //test DeleteAt //first testList.DeleteAt(4); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //middle testList.DeleteAt(4); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //end testList.DeleteAt(8); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); //handle miss testList.DeleteAt(9); Console.WriteLine(CtoS.MyLinkedListReporter(testList)); }