public void Test_Remove_WhenFoundItemInTailTwoTimes() { var list = new LinkedList2(); var deletedValue = 3; var node1 = new Node(1); var node2 = new Node(2); var node3 = new Node(deletedValue); var node4 = new Node(deletedValue); list.AddInTail(node1); list.AddInTail(node2); list.AddInTail(node3); list.AddInTail(node4); var head = list.head; list.Remove(deletedValue); list.Remove(deletedValue); var expected = "[1, 2]"; var reverseExpected = "[2, 1]"; Assert.AreEqual(expected, list.ToString()); Assert.AreEqual(reverseExpected, list.ReverseToString()); Assert.AreEqual(head, list.head); Assert.AreEqual(node2, list.tail); }
public void RemoveInEmptyList() { LinkedList2 list = new LinkedList2(); list.RemoveAll(10); Assert.IsTrue(list.head == null && list.tail == null); }
public void FindAllInEmptyList() { LinkedList2 list = new LinkedList2(); List <Node> nodeList = list.FindAll(10); Assert.IsTrue(nodeList.Count == 0); }
public void Test_RemoveAll_WhenManyFoundItemsInMiddle() { var list = new LinkedList2(); var deletedValue = 2; var node1 = new Node(1); var node2 = new Node(deletedValue); var node3 = new Node(deletedValue); var node4 = new Node(3); list.AddInTail(node1); list.AddInTail(node2); list.AddInTail(node3); list.AddInTail(node4); var head = list.head; var tail = list.tail; list.RemoveAll(deletedValue); var expected = "[1, 3]"; var reverseExpected = "[3, 1]"; Assert.AreEqual(expected, list.ToString()); Assert.AreEqual(reverseExpected, list.ReverseToString()); Assert.AreEqual(head, list.head); Assert.AreEqual(tail, list.tail); }
public static void TestInsertAfter() { var testList = new LinkedList2(); testList.InsertAfter(null, new Node(1)); Assert.AreEqual(1, testList.Count(), "Test TestInsertAfter failed. List count have to be equal 1"); testList.AddInTail(new Node(3)); testList.AddInTail(new Node(5)); testList.InsertAfter(new Node(3), new Node(4)); Assert.AreEqual(4, testList.Count(), "Test TestInsertAfter failed. List count have to be equal 4"); testList.InsertAfter(new Node(1), new Node(2)); Assert.AreEqual(5, testList.Count(), "Test TestInsertAfter failed. List count have to be equal 5"); testList.InsertAfter(new Node(5), new Node(6)); Assert.AreEqual(6, testList.Count(), "Test TestInsertAfter failed. List count have to be equal 6"); testList.InsertAfter(null, new Node(0)); Assert.AreEqual(7, testList.Count(), "Test TestInsertAfter failed. List count have to be equal 7"); Assert.AreEqual(0, testList.head.value, "Test TestInsertAfter failed. List head.value have to be equal 0"); Assert.AreEqual(6, testList.tail.value, "Test TestInsertAfter failed. List tail.value have to be equal 6"); Assert.IsNull(testList.tail.next, "Test TestInsertAfter failed. List tail.next have to be equal NULL"); Assert.IsNull(testList.head.prev, "Test TestInsertAfter failed. List head.prev have to be equal NULL"); Assert.IsNotNull(testList.tail.prev, "Test TestInsertAfter failed. List tail.prev have to be equal NOT NULL"); Assert.IsNotNull(testList.head.next, "Test TestInsertAfter failed. List head.next have to be equal NOT NULL"); int counter = -1; Node node = testList.head; while (node != null) { counter += 1; Assert.AreEqual(counter, node.value, "Test TestInsertAfter failed. List sequence is not correct"); node = node.next; } }
static void TestFindElements() { Console.WriteLine("find elements test"); var list = new LinkedList2(); list.AddInTail(new Node(20)); list.AddInTail(new Node(24)); list.AddInTail(new Node(10)); list.AddInTail(new Node(15)); list.AddInTail(new Node(77)); list.AddInTail(new Node(24)); Console.WriteLine("find 20"); var result = list.FindAll(20); foreach (var item in result) { Console.WriteLine(item.value); } Console.WriteLine("find 24"); result = list.FindAll(24); foreach (var item in result) { Console.WriteLine(item.value); } Console.WriteLine(new string('=', 30)); }
static void TestFindElement() { Console.WriteLine("find element test"); var list = new LinkedList2(); list.AddInTail(new Node(20)); list.AddInTail(new Node(24)); list.AddInTail(new Node(10)); list.AddInTail(new Node(15)); list.AddInTail(new Node(77)); list.AddInTail(new Node(24)); Console.WriteLine("find 20"); var result = list.Find(20); Console.WriteLine("result " + result.value); Console.WriteLine("find 10"); result = list.Find(10); Console.WriteLine("result " + result.value); Console.WriteLine("find 24"); result = list.Find(24); Console.WriteLine("result " + result.value); Console.WriteLine(new string('=', 30)); }
public PackedExponentTape( PackedExponentTape src, bool cutOffLeft = false, bool cutOffRight = false) { if (src == null) { throw new ArgumentNullException(); } Macro = new MacroPacker(src.Macro); _PositionInMacro = src._PositionInMacro; FacingRight = src.FacingRight; Shifts = src.Shifts; if (!cutOffLeft) { _L = new LinkedList2 <Cell> (src._L.Select(c => c.Clone())); } if (!cutOffRight) { _R = new LinkedList2 <Cell> (src._R.Select(c => c.Clone())); } CheckConsistency(); }
public void Test_Count_WhenEmpty() { var list = new LinkedList2(); var count = list.Count(); Assert.AreEqual(0, count); }
public void AddInEmptyList() { LinkedList2 list = new LinkedList2(); Node node = new Node(10); list.AddInHead(node); Assert.IsTrue(list.head == node && list.tail == node); }
private void FindTest(int valueToFind, params Node[] nodes) { LinkedList2 list = GetLinkedList(nodes); Node expectedNode = nodes.FirstOrDefault(n => n.value == valueToFind); Assert.Same(expectedNode, list.Find(valueToFind)); }
public void InsertInEmptyList() { LinkedList2 list = new LinkedList2(); Node node = new Node(10); Node node2 = new Node(20); list.InsertAfter(node2, node); Assert.IsTrue(list.head == node && list.tail == node); }
public void Test_AddInTail_Once() { var list = new LinkedList2(); var node1 = new Node(1); list.AddInTail(node1); Assert.AreEqual(list.tail, list.head); Assert.AreEqual(node1, list.head); }
private void ClearTest(params Node[] nodes) { LinkedList2 list = GetLinkedList(nodes); list.Clear(); Assert.Null(list.head); Assert.Null(list.tail); }
public void FindInFilledList() { LinkedList2 list = new LinkedList2(); Node testNode = new Node(12); list.AddInTail(new Node(10)); list.AddInTail(new Node(11)); list.AddInTail(testNode); Assert.IsTrue(list.Find(13) == null && list.Find(12) == testNode); }
private void FindAllTest(int valueToFind, params Node[] nodes) { LinkedList2 list = GetLinkedList(nodes); IEnumerable <Node> expectedNodes = nodes.Where(node => node.value == valueToFind); Assert.True(expectedNodes.SequenceEqual( list.FindAll(valueToFind), new NodeValueEqualityComparer())); }
public void InsertInFilledOneListWithoutNodeAfter() { LinkedList2 list = new LinkedList2(); Node node = new Node(10); Node node2 = new Node(20); list.AddInTail(node2); list.InsertAfter(null, node); Assert.IsTrue(list.head == node && list.tail == node2); }
public void TestMethod1() { LinkedList2 list = new LinkedList2(); list.AddInTail(new Node(10)); list.AddInTail(new Node(11)); list.AddInTail(new Node(12)); list.Clear(); Assert.IsTrue(list.head == null && list.tail == null); }
public void Test_Count_WhenNonEmpty() { var list = new LinkedList2(); var node = new Node(1); list.AddInTail(node); var count = list.Count(); Assert.AreEqual(1, count); }
public void Test_AddInTail_TwoTimes() { var list = new LinkedList2(); var node1 = new Node(1); var node2 = new Node(1); list.AddInTail(node1); list.AddInTail(node2); Assert.AreEqual(node1, list.head); Assert.AreEqual(node2, list.tail); }
public void AddInHead_in_EmptyList() { LinkedList2 testList = new LinkedList2(); testList.AddInHead(new Node(21)); int expected = 1; int actual = testList.Count(); Assert.AreEqual(expected, actual); Assert.IsNotNull(testList.Find(21)); }
public void Test_Find_WhenOneFoundItem() { var list = new LinkedList2(); var node1 = new Node(1); var node2 = new Node(2); list.AddInTail(node1); list.AddInTail(node2); var foundNode = list.Find(node2.value); Assert.AreEqual(node2, foundNode); }
public void RemoveAllTest507() { LinkedList2 linkedList; linkedList = new LinkedList2(); linkedList.head = (Node)null; linkedList.tail = (Node)null; this.RemoveAllTest(linkedList2, 0); Assert.IsNotNull((object)linkedList); Assert.IsNull((object)(linkedList.head)); Assert.IsNull((object)(linkedList.tail)); }
public void Test_InsertAfter_WhenEmpty() { var list = new LinkedList2(); var head = list.head; var node1 = new Node(1); var expected = "[1]"; list.InsertAfter(head, node1); Assert.AreEqual(node1, list.head); Assert.AreEqual(node1, list.tail); Assert.AreEqual(expected, list.ToString()); }
public static void TestAddInTail() { var testList = new LinkedList2(); Assert.AreEqual(0, testList.Count(), "Test TestAddInTail failed. Initial list count have to be equal 0"); testList.AddInTail(new Node(1)); Assert.AreEqual(1, testList.Count(), "Test TestAddInTail failed. List count have to be equal 1"); testList.AddInTail(new Node(2)); Assert.AreEqual(2, testList.Count(), "Test TestAddInTail failed. List count have to be equal 2"); testList.AddInTail(new Node(3)); Assert.AreEqual(3, testList.Count(), "Test TestAddInTail failed. List count have to be equal 3"); Assert.IsNull(testList.tail.next, "Test TestAddInTail failed. List tail.next not equal NULL"); }
public static void TestClear() { var testList = new LinkedList2(); testList.AddInTail(new Node(1)); testList.AddInTail(new Node(2)); testList.AddInTail(new Node(1)); testList.AddInTail(new Node(3)); testList.AddInTail(new Node(1)); testList.AddInTail(new Node(4)); testList.Clear(); Assert.AreEqual(0, testList.Count(), "Test TestClear failed. List count not equal 0"); }
public void Test_RemoveAll_WhenListIsEmpty() { var list = new LinkedList2(); var deletedValue = 2; list.RemoveAll(deletedValue); var expected = "[]"; Assert.AreEqual(expected, list.ToString()); Assert.AreEqual(expected, list.ReverseToString()); Assert.AreEqual(null, list.head); Assert.AreEqual(null, list.tail); }
public void Test_Clear_WhenNonEmpty() { var list = new LinkedList2(); var node1 = new Node(1); list.AddInTail(node1); list.Clear(); var count = list.Count(); Assert.AreEqual(null, list.head); Assert.AreEqual(null, list.tail); Assert.AreEqual(0, count); }
public void FindAllInFilledList() { LinkedList2 list = new LinkedList2(); list.AddInTail(new Node(10)); list.AddInTail(new Node(20)); list.AddInTail(new Node(10)); list.AddInTail(new Node(30)); list.AddInTail(new Node(10)); List <Node> nodeList = list.FindAll(10); Assert.IsTrue(nodeList.Count == 3); }
public void RemoveAll_10() { LinkedList2 list = new LinkedList2(); list.AddInTail(new Node(10)); list.AddInTail(new Node(11)); list.AddInTail(new Node(10)); list.AddInTail(new Node(12)); list.AddInTail(new Node(10)); list.AddInTail(new Node(13)); list.RemoveAll(10); Assert.IsTrue(list.head.value == 11 && list.head.next.value == 12 && list.tail.value == 13); }
public static void Main() { var test = new LinkedList2<string>(); test.AddFirst("First string"); test.AddLast("Second string"); test.AddFirst("Should be before first"); test.AddLast("Should be after last"); foreach (var item in test) { Console.WriteLine(item); } test.Clear(); foreach (var item in test) { Console.WriteLine(item); } }
public PackedExponentTape ( PackedExponentTape src, bool cutOffLeft = false, bool cutOffRight = false) { if (src == null) throw new ArgumentNullException (); Macro = new MacroPacker (src.Macro); _PositionInMacro = src._PositionInMacro; FacingRight = src.FacingRight; Shifts = src.Shifts; if (!cutOffLeft) { _L = new LinkedList2<Cell> (src._L.Select (c => c.Clone ())); } if (!cutOffRight) { _R = new LinkedList2<Cell> (src._R.Select (c => c.Clone ())); } CheckConsistency (); }