Example #1
0
class Stack:
    def __init__(self):
        self.ll = SinglyLinkedList()

    def __len__(self):
        return len(self.ll)

    def is_empty(self):
        return self.ll.is_empty()

    def push(self, item):
        self.ll.insert_head(item)

    def pop(self):
        return self.ll.pop_head()

    def peek(self):
        return self.ll.peek_head()
def test_append():
    linked_list = SinglyLinkedList()
    linked_list.append(4)
    linked_list.append(5)
    assert linked_list.size() == 2
    assert linked_list.get(0) == 4
    assert linked_list.get(1) == 5
Example #3
0
 def __init__(self):
     self.ll = SinglyLinkedList()
Example #4
0
 def setUp(self):
     super().setUp()
     self.linked_list = SinglyLinkedList()
Example #5
0
class TestSinglyLinkedList(TestCase):
    def setUp(self):
        super().setUp()
        self.linked_list = SinglyLinkedList()

    def test_repr(self):
        self.assertEqual(repr(self.linked_list),
                         "SinglyLinkedList(head=None, size=0)")

    def test_is_empty(self):
        self.assertTrue(self.linked_list.is_empty())

    def test_add_front(self):
        self.linked_list.add_front(1)

        self.assertFalse(self.linked_list.is_empty())

    def test_size(self):
        self.assertEqual(self.linked_list.size(), 0)

        self.linked_list.add_front(1)
        self.linked_list.add_front(2)

        self.assertEqual(self.linked_list.size(), 2)

    def test_search(self):
        self.linked_list.add_front(1)
        self.linked_list.add_front(2)

        self.assertEqual(self.linked_list.search(1).data, 1)
        self.assertEqual(self.linked_list.search(2).data, 2)
        self.assertIsNone(self.linked_list.search(3))

    def test_remove(self):
        self.linked_list.add_front(1)
        self.linked_list.add_front(2)
        self.linked_list.add_front(3)

        self.linked_list.remove(2)

        self.assertEqual(self.linked_list.size(), 2)
        self.assertEqual(self.linked_list.search(1).data, 1)
        self.assertIsNone(self.linked_list.search(2))
        self.assertEqual(self.linked_list.search(3).data, 3)

    def test_remove_head(self):
        self.linked_list.add_front(1)
        self.linked_list.add_front(2)
        self.linked_list.add_front(3)

        self.linked_list.remove(3)

        self.assertEqual(self.linked_list.size(), 2)
        self.assertEqual(self.linked_list.search(1).data, 1)
        self.assertEqual(self.linked_list.search(2).data, 2)
        self.assertIsNone(self.linked_list.search(3))

    def test_remove_tail(self):
        self.linked_list.add_front(1)
        self.linked_list.add_front(2)
        self.linked_list.add_front(3)

        self.linked_list.remove(1)

        self.assertEqual(self.linked_list.size(), 2)
        self.assertIsNone(self.linked_list.search(1))
        self.assertEqual(self.linked_list.search(2).data, 2)
        self.assertEqual(self.linked_list.search(3).data, 3)

    def test_remove_head_only(self):
        self.linked_list.add_front(1)

        self.linked_list.remove(1)

        self.assertEqual(self.linked_list.size(), 0)
def get_multi_node_list() -> SinglyLinkedList:
    multi_node_list = SinglyLinkedList()
    multi_node_list.append(1)
    multi_node_list.append(2)
    multi_node_list.append(3)
    return multi_node_list
def test_size():
    assert SinglyLinkedList().size() == 0
    linked_list = SinglyLinkedList()
    linked_list.append(1)
    assert linked_list.size() == 1
    assert get_multi_node_list().size() == 3
def test_remove_empty():
    linked_list = SinglyLinkedList()
    assert not linked_list.remove(0)
def test_init():
    linked_list = SinglyLinkedList()
    assert linked_list.size() == 0
def test_insert_empty():
    linked_list = SinglyLinkedList()
    linked_list.insert(3, 0)
    assert linked_list.size() == 1
    assert linked_list.get(0) == 3
def test_get_empty():
    assert not SinglyLinkedList().get(0)
def test_append_empty():
    linked_list = SinglyLinkedList()
    linked_list.append(1)
    assert linked_list.size() == 1
    assert linked_list.get(0) == 1
from data_structures.singly_linked_list import SinglyLinkedList

EMPTY_LIST = SinglyLinkedList()


def test_init():
    linked_list = SinglyLinkedList()
    assert linked_list.size() == 0


def test_all_values():
    linked_list = get_multi_node_list()
    assert linked_list.all_values() == [1, 2, 3]


def test_append_empty():
    linked_list = SinglyLinkedList()
    linked_list.append(1)
    assert linked_list.size() == 1
    assert linked_list.get(0) == 1


def test_append():
    linked_list = SinglyLinkedList()
    linked_list.append(4)
    linked_list.append(5)
    assert linked_list.size() == 2
    assert linked_list.get(0) == 4
    assert linked_list.get(1) == 5