def setup(self):
     self.base_list = generate_list(size=100, negatives=True)
     self.linked_list = from_list(self.base_list)
from nose.tools import raises
from algorithms_py.utils.generate_list import generate_list
from algorithms_py.data_structures.lists.singly_linked_list import (
    from_list,
)


BASE_LIST = [4, 2, 11, 23, -19, 32, 123, 43, -76, 1, 3, 6]
LINKED_LIST = from_list(BASE_LIST)


def check_equivalence(py_list, linked_list):
    """Utility function for checking the equivalence of my linked list
    implementation and python's default list construct.
    """
    current_node = linked_list.head
    for i in xrange(len(py_list)):
        if py_list[i] != current_node.val:
            return False
        current_node = current_node.next
    return True


class TestSinglyLinkedList:
    def setup(self):
        self.base_list = generate_list(size=100, negatives=True)
        self.linked_list = from_list(self.base_list)

    def test_create(self):
        assert check_equivalence(self.base_list, self.linked_list)