class test_graph(unittest.TestCase): def setUp(self): self.tens = SinglyLinkedList(range(0, 100, 10)) self.blankList = SinglyLinkedList() def test_length_method(self): self.assertEqual(len(self.tens), 10) self.assertEqual(len(self.blankList), 0) def test_add_method(self): self.blankList.append(50) self.tens.append(110) self.assertEqual(len(self.blankList), 1) self.assertEqual(len(self.tens), 11)
class StackSLL(object): def __init__(self): self.store = SinglyLinkedList() def push(self, value): """ adds the value to the front of the list """ self.store.addToFront(value) def pop(self): """ removes the value from the front of the list and returns it """ value = self.peek() self.store.removeFromFront() return value def peek(self): """ returns the next value to be popped """ return self.store.get(0) def isEmpty(self): """ returns True if the value is empty """ return self.store.isEmpty()
class QueueSLL(object): def __init__(self): self.store = SinglyLinkedList() def enqueue(self, value): """ adds the value to the back of the list """ self.store.addToBack(value) def dequeue(self): """ removes the value from the front of the list """ if self.isEmpty(): raise IndexError("the queue is empty") value = self.peek() self.store.removeFromFront() return value def peek(self): """ returns the first value to be dequeued """ if self.isEmpty(): raise IndexError("the queue is empty") return self.store.get(0) def isEmpty(self): return self.store.getSize() == 0
def setUp(self): self.tens = SinglyLinkedList(range(0, 100, 10)) self.blankList = SinglyLinkedList()
from node import Node from singlylinkedlist import SinglyLinkedList from doublylinkedlist import DoublyLinkedList from linkedlist import LinkedList # Test 2 sll = SinglyLinkedList() assert sll.size()==0 sll.insert(1) assert sll.size()==1 sll.insert(2) sll.insert(3) assert sll.size()==3 print "Test 2 Passed" # Test 3 sll = SinglyLinkedList() assert sll.size()==0 sll.insert(1) assert sll.search(1)==True sll.insert(2) sll.insert(3) assert sll.search(3)==True assert sll.search(4)==False print "Test 3 Passed" # Test 4 sll = SinglyLinkedList() assert sll.size()==0 sll.insert(1) sll.insert(2)
assert dll.tail.prev.data == 3 assert dll.search(2) == False assert dll.search(3) == True assert dll.size() == 2 print "Test 4 Passed" # Test 5 dll = DoublyLinkedList() dll.insert(1) dll.insert(2) dll.insert(3) dll.insert(4) dll.print_list_forward() # Test 6 dll = DoublyLinkedList() dll.insert(1) dll.insert(2) dll.insert(3) dll.insert(4) dll.print_list_backward() # Test 1 assert 1 == SinglyLinkedList.getNumberOfLinks() assert 0 == LinkedList.getNumberOfLinks() sll = SinglyLinkedList() assert 1 == sll.getNumberOfLinks() dll = DoublyLinkedList() assert 2 == dll.getNumberOfLinks() print "Test 1 Passed"
def __init__(self): self.store = SinglyLinkedList()
def setUp(self): self.sll = SinglyLinkedList() self.reverse = getattr(self.sll, 'reverse_iterative')
class TestSinglyLinkedList(TestCase): """ Test cases to test the collection wrapper """ def setUp(self): self.sll = SinglyLinkedList() self.reverse = getattr(self.sll, 'reverse_iterative') def test_empty_list(self): self.assertEqual(len(self.sll), 0) def test_list_single_item(self): self.sll.append(1) self.assertEqual(len(self.sll), 1) for v in self.sll: self.assertEqual(v, 1) def test_list_multi_items(self): num = 10 for i in range(num): self.sll.append(i) for i, list_val in zip(range(num), self.sll): self.assertEqual(i, list_val) def test_to_str(self): self.sll.append(1) self.sll.append(2) self.sll.append(3) self.assertEqual(str(self.sll), str([1, 2, 3])) def test_to_repr(self): self.sll.append(1) self.sll.append(2) self.sll.append(3) self.assertEqual(repr(self.sll), "{}({})".format("SinglyLinkedList", repr([1, 2, 3])))