/* Methods */ public TransUnitNode InsertNext(TransUnitData newNodeData) { TransUnitNode newNode; if (head != null) { if (head.NextSibling == null) { newNode = new TransUnitNode(newNodeData, head); head = newNode; } else { newNode = new TransUnitNode(newNodeData, head, head.NextSibling); while (head.NextSibling != null) { head = head.NextSibling; } } } else { newNode = new TransUnitNode(newNodeData); head = newNode; } if (tail == null) { tail = newNode; } count++; return(newNode); }
public void DoublyLinkedList_RemoveAtIndex_Test_2() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); TransUnitData thirdTestData = new TransUnitData(transUnitList[2]); DoublyLinkedList doublyLinkedList = new DoublyLinkedList(); doublyLinkedList.InsertNext(firstTestData); doublyLinkedList.InsertNext(secondTestData); doublyLinkedList.InsertNext(thirdTestData); TransUnitNode removedNode = doublyLinkedList.RemoveAtIndex(2); // Assertions set. Assert.AreEqual(2, doublyLinkedList.Count); Assert.AreEqual(thirdTestData, removedNode.Data); Assert.AreEqual(-1, doublyLinkedList.GetIndexOf(thirdTestData)); Assert.AreEqual(secondTestData, doublyLinkedList.Head.Data); Assert.AreEqual(firstTestData, doublyLinkedList.Head.PreviousSibling.Data); Assert.IsNull(doublyLinkedList.Head.NextSibling); Assert.AreEqual(firstTestData, doublyLinkedList.Tail.Data); Assert.IsNull(doublyLinkedList.Tail.PreviousSibling); Assert.AreEqual(secondTestData, doublyLinkedList.Tail.NextSibling.Data); }
public void TransUnitData_Clear_Test_2() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); TransUnitData thirdTestData = new TransUnitData(transUnitList[2]); TransUnitNode firstTestNode = new TransUnitNode(firstTestData); TransUnitNode secondTestNode = new TransUnitNode(secondTestData); TransUnitNode thirdTestNode = new TransUnitNode(thirdTestData); // Setting Relations Between Nodes. firstTestNode.NextSibling = secondTestNode; secondTestNode.PreviousSibling = firstTestNode; secondTestNode.NextSibling = thirdTestNode; thirdTestNode.PreviousSibling = secondTestNode; secondTestNode.Clear(); // Assertions set. Assert.IsNull(secondTestNode.Data); Assert.IsNull(secondTestNode.PreviousSibling); Assert.IsNull(secondTestNode.NextSibling); }
public void DoublyLinkedList_GetIndexOf_Test_4() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); TransUnitData thirdTestData = new TransUnitData(transUnitList[2]); TransUnitData fourthTestData = new TransUnitData(transUnitList[3]); TransUnitData fifthTestData = new TransUnitData(transUnitList[4]); DoublyLinkedList doublyLinkedList = new DoublyLinkedList(); doublyLinkedList.InsertNext(firstTestData); doublyLinkedList.InsertNext(secondTestData); doublyLinkedList.InsertPrevious(thirdTestData); doublyLinkedList.InsertNext(fourthTestData); doublyLinkedList.InsertPrevious(fifthTestData); // Assertions set. Assert.AreEqual(0, doublyLinkedList.GetIndexOf(firstTestData)); Assert.AreEqual(2, doublyLinkedList.GetIndexOf(secondTestData)); Assert.AreEqual(1, doublyLinkedList.GetIndexOf(thirdTestData)); Assert.AreEqual(3, doublyLinkedList.GetIndexOf(fifthTestData)); Assert.AreEqual(4, doublyLinkedList.GetIndexOf(fourthTestData)); }
public void DoublyLinkedList_Remove_Test_2() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); TransUnitData thirdTestData = new TransUnitData(transUnitList[2]); DoublyLinkedList doublyLinkedList = new DoublyLinkedList(); doublyLinkedList.InsertNext(firstTestData); doublyLinkedList.InsertNext(secondTestData); doublyLinkedList.InsertNext(thirdTestData); doublyLinkedList.Remove(); doublyLinkedList.Remove(); doublyLinkedList.Remove(); // Assertions set. Assert.AreEqual(0, doublyLinkedList.Count); Assert.IsNull(doublyLinkedList.Head); Assert.IsNull(doublyLinkedList.Tail); Assert.AreEqual(-1, doublyLinkedList.GetIndexOf(firstTestData)); Assert.AreEqual(-1, doublyLinkedList.GetIndexOf(secondTestData)); Assert.AreEqual(-1, doublyLinkedList.GetIndexOf(thirdTestData)); }
public TransUnitNode InsertPrevious(TransUnitData newNodeData) { TransUnitNode newNode; if (head != null) { if (head.PreviousSibling != null) { newNode = new TransUnitNode(newNodeData, head.PreviousSibling, head); } else { newNode = new TransUnitNode(newNodeData); newNode.NextSibling = head; head.PreviousSibling = newNode; tail = newNode; } } else { newNode = new TransUnitNode(newNodeData); tail = newNode; head = newNode; } count++; return(newNode); }
public void InsertAtIndex(TransUnitData newItemData, int index) { TransUnitNode temporaryHead = head; if (index > count || index < 0) { throw new ArgumentOutOfRangeException("Out of range exception."); } if (this[index] != null) { if (this[index].PreviousSibling != null) { this.head = this[index].PreviousSibling; this.InsertNext(newItemData); head = temporaryHead; } else { this.head = this[index]; this.InsertPrevious(newItemData); head = temporaryHead; } } else { this.InsertNext(newItemData); } }
public void TransUnitData_Creation_WithPreviousNext_Test_6() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); TransUnitData thirdTestData = new TransUnitData(transUnitList[2]); // Setting Relations Between Nodes. TransUnitNode firstTestNode = new TransUnitNode(firstTestData); TransUnitNode secondTestNode = new TransUnitNode(secondTestData, firstTestNode); TransUnitNode thirdTestNode = new TransUnitNode(thirdTestData, secondTestNode, firstTestNode); // Assertions set. Assert.AreEqual(firstTestData, firstTestNode.Data); Assert.AreEqual(thirdTestNode, firstTestNode.PreviousSibling); Assert.AreEqual(secondTestNode, firstTestNode.NextSibling); Assert.IsNull(firstTestNode); Assert.AreEqual(secondTestData, secondTestNode.Data); Assert.AreEqual(firstTestNode, secondTestNode.PreviousSibling); Assert.IsNull(secondTestNode.PreviousSibling); Assert.AreEqual(thirdTestNode, secondTestNode.NextSibling); Assert.AreEqual(thirdTestData, thirdTestNode.Data); Assert.AreEqual(secondTestNode, thirdTestNode.PreviousSibling); Assert.AreEqual(firstTestNode, thirdTestNode.NextSibling); }
public void TransUnitData_Creation_Test_2() { // Initialization. TransUnitData testData = null; TransUnitNode testNode = new TransUnitNode(testData); // Assertions set. Assert.IsNull(testNode.Data); Assert.IsNull(testNode.PreviousSibling); Assert.IsNull(testNode.NextSibling); }
public void TransUnitData_Creation_WithPreviousNext_Test_2() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData thirdTestData = new TransUnitData(transUnitList[2]); // Assertions set. TransUnitNode firstTestNode = null; TransUnitNode secondTestNode = null; TransUnitNode thirdTestNode = new TransUnitNode(thirdTestData, firstTestNode, secondTestNode); }
public void TransUnitData_Creation_Test_1() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData testData = new TransUnitData(transUnitList[0]); TransUnitNode testNode = new TransUnitNode(testData); // Assertions set. Assert.AreEqual(testData, testNode.Data); Assert.IsNull(testNode.PreviousSibling); Assert.IsNull(testNode.NextSibling); }
public void DoublyLinkedList_InsertAtIndex_Test_2() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); DoublyLinkedList doublyLinkedList = new DoublyLinkedList(); doublyLinkedList.InsertNext(firstTestData); // Assertions set. Assert.ThrowsException <ArgumentOutOfRangeException>(() => doublyLinkedList.InsertAtIndex(secondTestData, 3)); }
public void DoublyLinkedList_GetIndexOf_Test_5() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); DoublyLinkedList doublyLinkedList = new DoublyLinkedList(); doublyLinkedList.InsertNext(firstTestData); // Assertions set. Assert.AreEqual(-1, doublyLinkedList.GetIndexOf(secondTestData)); }
public void DoublyLinkedList_InsertAtIndex_Test_3() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); DoublyLinkedList doublyLinkedList = new DoublyLinkedList(); doublyLinkedList.InsertAtIndex(firstTestData, 0); // Assertions set. Assert.AreEqual(1, doublyLinkedList.Count); Assert.AreEqual(firstTestData, doublyLinkedList.Head.Data); Assert.AreEqual(firstTestData, doublyLinkedList.Tail.Data); }
public void TransUnitData_Creation_WithPrevious_Test_2() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); TransUnitNode firstTestNode = null; TransUnitNode secondTestNode = new TransUnitNode(secondTestData, firstTestNode); // Assertions set. Assert.AreEqual(transUnitList[1], secondTestNode.Data); Assert.IsNull(secondTestNode.PreviousSibling); Assert.IsNull(secondTestNode.NextSibling); }
/* Returns first occurance of the search data */ public int GetIndexOf(TransUnitData searchData) { int index = 0; TransUnitNode searchNode = tail; for (int i = 0; i < count; i++) { if (searchNode != null) { if (searchNode.Data == searchData) { return(index); } searchNode = searchNode.NextSibling; index++; } } return(-1); }
public void DoublyLinkedList_InsertAtIndex_Test_4() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); DoublyLinkedList doublyLinkedList = new DoublyLinkedList(); doublyLinkedList.InsertNext(firstTestData); doublyLinkedList.InsertAtIndex(secondTestData, 1); // Assertions set. Assert.AreEqual(2, doublyLinkedList.Count); Assert.AreEqual(secondTestData, doublyLinkedList[1].Data); Assert.AreEqual(secondTestData, doublyLinkedList.Head.Data); Assert.AreEqual(firstTestData, doublyLinkedList.Head.PreviousSibling.Data); Assert.AreEqual(null, doublyLinkedList.Head.NextSibling); }
public void DoublyLinkedList_InsertNextPrevious_Test_6() { // Initialization. XmlDocument doc = new XmlDocument(); doc.Load(xliffPath); XmlNodeList transUnitList = doc.GetElementsByTagName("trans-unit"); TransUnitData firstTestData = new TransUnitData(transUnitList[0]); TransUnitData secondTestData = new TransUnitData(transUnitList[1]); TransUnitData thirdTestData = new TransUnitData(transUnitList[2]); DoublyLinkedList doublyLinkedList = new DoublyLinkedList(); doublyLinkedList.InsertPrevious(firstTestData); doublyLinkedList.InsertNext(secondTestData); doublyLinkedList.InsertPrevious(thirdTestData); // Assertions set. Assert.AreEqual(3, doublyLinkedList.Count); Assert.AreEqual(secondTestData, doublyLinkedList.Head.Data); Assert.AreEqual(firstTestData, doublyLinkedList.Tail.Data); }