public void PrependValueToEmptyList_ListContainsValue_ReturnsTrue() { T value = this.CreateSampleValue(); DLList <T> list = new DLList <T>(); list.Prepend(value); T valueToSeek = this.CreateSampleValue(); bool listContains = list.Contains(valueToSeek); Assert.IsTrue(listContains); }
public void TestMethodAddToHead1() { DLLNode p = new DLLNode("1"); DLList dll = new DLList(); dll.addToHead(p); p = new DLLNode("2"); dll.addToHead(p); p = new DLLNode("3"); dll.addToHead(p); //Head should be 3, Tail should be 1, and tail.next and head.previous should be null Assert.AreEqual(true, (dll.head.str == "3" && dll.tail.str == "1")); Assert.AreEqual(true, (dll.head.previous == null && dll.tail.next == null)); }//End of TestMethodAddToHead1
AppendTwoElements_GetTailOfFirstElementInTwoElementsList_ReturnsArrayWithOneElementSecondInList() { DLList <T> list = new DLList <T>(); T firsElement = this.CreateDifferentValue(); T secondElement = this.CreateSampleValue(); list.Append(firsElement); list.Append(secondElement); T[] resultTail = list.GetTail(firsElement); T[] expectedTail = new T[] { secondElement }; CollectionAssert.AreEqual(expectedTail, resultTail); }
public void Testremovetail2() { string[] str = new string[30]; int i = 0; FileStream f = new FileStream("C:/Users/edgu1/Desktop/222525.txt", FileMode.Open, FileAccess.Read); DLList pDLL = new DLList(); string line; try { StreamReader m_streamReader = new StreamReader(f); //StreamReader read txt m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin); //read from head to tail by lines while ((line = m_streamReader.ReadLine()) != null) { DLLNode d = new DLLNode(line); pDLL.addToTail(d); str[i] = line; i++; } m_streamReader.Close(); } catch (FileNotFoundException e) { Console.WriteLine("errors" + e.ToString()); } pDLL.removeTail(); //////////////////////// string[] str2 = new string[20]; int j = 0; DLLNode tail = pDLL.tail; while (tail.previous != null) { str2[j] = tail.str; j++; tail = tail.previous; } str2[j] = tail.str; /// ///////////////////////////////////// string dd = null; if (str2[0] == "6") { dd = str[j + 1]; } Assert.AreEqual("54", dd); }
public void TestMethodRemovHead2() { DLLNode p = new DLLNode("1"); DLList dll = new DLList(); dll.addToHead(p); p = new DLLNode("2"); dll.addToHead(p); p = new DLLNode("3"); dll.addToHead(p); dll.removHead(); //Before removal, order should be 3,2,1 //After, should be null -> 2 -> 1 -> null Assert.AreEqual(true, (dll.head.previous == null && dll.head.str == "2" && dll.head.next.str == "1" && dll.head.next.next == null)); }//End of TestMethodRemovHead2
public void TestMethodRemoveTail3() { DLLNode p = new DLLNode("1"); DLList dll = new DLList(); dll.addToHead(p); p = new DLLNode("2"); dll.addToHead(p); p = new DLLNode("3"); dll.addToHead(p); dll.removeTail(); //Before removal, order should be 3,2,1 //After, should be null <- 3 <- 2 <- null Assert.AreEqual(true, (dll.tail.next == null && dll.tail.str == "1" && dll.tail.previous.str == "2" && dll.tail.previous.previous == null)); }//End of TestMethodRemoveTail3
public void Put(int key, int value) { if (capacity == 0) { return; } Node node; if (nodeDict.ContainsKey(key)) { node = nodeDict[key]; node.value = value; Update(node); } else { node = new Node(key, value); nodeDict.Add(key, node); if (size == capacity) { DLList lastList = countDict[min]; nodeDict.Remove(lastList.RemoveLast().key); size--; } size++; min = 1; DLList newList = null; if (countDict.ContainsKey(node.cnt)) { newList = countDict[node.cnt]; } else { newList = new DLList(); } newList.Add(node); if (countDict.ContainsKey(node.cnt)) { countDict[node.cnt] = newList; } else { countDict.Add(node.cnt, newList); } } }
public void testRemoveNode4() { DLList list = new DLList(); DLLNode node1 = new DLLNode(12); DLLNode node2 = new DLLNode(5); DLLNode node3 = new DLLNode(7); list.addToHead(node1); list.addToHead(node2); list.addToHead(node3); list.removeNode(node3); Assert.AreEqual(list.total(), 2); Assert.AreEqual(list.head, node2); }
public void testSearch2() { DLList list = new DLList(); DLLNode node1 = new DLLNode(5); DLLNode node2 = new DLLNode(7); DLLNode node3 = new DLLNode(1); DLLNode node4 = new DLLNode(16); list.addToHead(node1); list.addToHead(node2); list.addToHead(node3); list.addToHead(node4); Assert.IsNull(list.search(20)); }
public void TestMethodRemovTail1() { DLLNode p = new DLLNode("1"); DLList dll = new DLList(); dll.addToHead(p); p = new DLLNode("2"); dll.addToHead(p); p = new DLLNode("3"); dll.addToHead(p); dll.removeTail(); //Before removal, order should be 3,2,1 //After, should be 3,2, with head.previous null, and tail.next null Assert.AreEqual(true, (dll.head.str == "3" && dll.tail.str == "2")); Assert.AreEqual(true, (dll.head.previous == null && dll.tail.next == null)); }//End of TestMethodRemovTail1
public void TestMethodRemoveNode4() { DLLNode p = new DLLNode("3"); DLList dll = new DLList(); dll.addToHead(p); p = new DLLNode("2"); dll.addToHead(p); p = new DLLNode("1"); dll.addToHead(p); //DLL order == 1,2,3 dll.removeNode(dll.head.next.next); //"4" should not be found, and should return null Assert.AreEqual(true, (dll.head.str == "1" && dll.tail.str == "3")); Assert.AreEqual(true, (dll.head.next.str == "2" && dll.head.next.next.str == "3" && dll.tail.previous.str == "2" && dll.tail.previous.previous.str == "1")); Assert.AreEqual(true, (dll.head.previous == null && dll.tail.next == null)); } //End of TestMethodRemoveNode4
public void TestSearch3() { DLList list = new DLList(); DLLNode node1 = new DLLNode(5); DLLNode node2 = new DLLNode(4); DLLNode node3 = new DLLNode(3); DLLNode node4 = new DLLNode(2); DLLNode node5 = new DLLNode(7); list.addToHead(node1); list.addToHead(node2); list.addToHead(node3); list.addToHead(node4); list.addToHead(node5); Assert.IsNull(list.search(1)); }
public void TestRemoveTail2() { DLList myDLL = new DLList(); DLLNode p = new DLLNode(1); myDLL.addToHead(p); DLLNode q = new DLLNode(2); myDLL.addToHead(q); DLLNode r = new DLLNode(3); myDLL.addToHead(r); myDLL.removeTail(); // When removing tail (1) from DLL (3,2,1) new head should be 2 Assert.AreEqual(myDLL.tail.num, 2); }
public void testAddToHead2() { DLList list = new DLList(); DLLNode node1 = new DLLNode(12); DLLNode node2 = new DLLNode(5); DLLNode node3 = new DLLNode(6); DLLNode node4 = new DLLNode(8); DLLNode node5 = new DLLNode(1); list.addToHead(node1); list.addToHead(node2); list.addToHead(node3); list.addToHead(node4); list.addToHead(node5); Assert.AreEqual(list.total(), 5); Assert.AreEqual(node5, list.head); }
public void TestSearch1() { DLList list = new DLList(); DLLNode node1 = new DLLNode(5); DLLNode node2 = new DLLNode(4); DLLNode node3 = new DLLNode(3); DLLNode node4 = new DLLNode(2); DLLNode node5 = new DLLNode(7); list.addToHead(node1); list.addToHead(node2); list.addToHead(node3); list.addToHead(node4); list.addToHead(node5); //Searching value 7 should == pointer to node5 Assert.AreEqual(list.search(7), node5); }
public void TestTotal2() { DLList myDLL = new DLList(); DLLNode p = new DLLNode(1); myDLL.addToTail(p); DLLNode q = new DLLNode(2); myDLL.addToTail(q); DLLNode r = new DLLNode(3); myDLL.addToTail(r); DLLNode s = new DLLNode(4); myDLL.addToTail(s); DLLNode t = new DLLNode(-7); myDLL.addToTail(t); Assert.AreEqual(myDLL.total(), 5); }
public void TestRemoveNode1() { DLList list = new DLList(); DLLNode node1 = new DLLNode(5); DLLNode node2 = new DLLNode(4); DLLNode node3 = new DLLNode(3); DLLNode node4 = new DLLNode(2); DLLNode node5 = new DLLNode(7); list.addToHead(node1); list.addToHead(node2); list.addToHead(node3); list.addToHead(node4); list.addToHead(node5); list.removeNode(node3); // there should only be 4 nodes left and value // of 7 should not be present Assert.AreEqual(list.total(), 4); Assert.IsNull(list.search(3)); }
public void GetHeadElementFromEmptyList_ThrowsInvalidOperationException() { DLList <T> list = new DLList <T>(); list.GetHead(); }
public void Testaddtotail() { //Program ss = new Program(); /// Read the txt and insert into dllist string[] str = new string[30]; int i = 0; FileStream f = new FileStream("C:/Users/edgu1/Desktop/222525.txt", FileMode.Open, FileAccess.Read); DLList pDLL = new DLList(); string line; try { StreamReader m_streamReader = new StreamReader(f); //StreamReader read txt m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin); //read from head to tail by lines while ((line = m_streamReader.ReadLine()) != null) { DLLNode d = new DLLNode(line); pDLL.addToTail(d); str[i] = line; i++; } m_streamReader.Close(); } catch (FileNotFoundException e) { Console.WriteLine("errors" + e.ToString()); } //////////////////////// string[] str2 = new string[20]; int j = 0; DLLNode head = pDLL.head; while (head.next != null) { str2[j] = head.str; j++; head = head.next; } Console.WriteLine(head.str); str2[j] = head.str; /// ///////////////////////////////////// bool match = false; for (int k = 0; k < i; k++) { if (str[k] == str2[k]) { match = true; } else { match = false; break; } } Assert.AreEqual(true, match); }
public void testTotal1() { DLList list = new DLList(); Assert.AreEqual(list.total(), 0); }
public void TestTotal1() { DLList myDLL = new DLList(); Assert.AreEqual(myDLL.total(), 0); }
public void TestSearch2() { DLList list = new DLList(); Assert.IsNull(list.search(1)); }