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)
Example #2
0
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()
Example #3
0
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()
Example #5
0
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)
Example #6
0
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"
Example #7
0
 def __init__(self):
     self.store = SinglyLinkedList()
Example #8
0
 def setUp(self):
     self.sll = SinglyLinkedList()
     self.reverse = getattr(self.sll, 'reverse_iterative')
Example #9
0
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])))