Ejemplo n.º 1
0
    def test_add_to_stack_start(self):
        name = "Jose"

        node = Node(name)

        stack = Stack()

        stack.add_to_stack_start(node)

        self.assertEqual(stack.get_root(), node)
Ejemplo n.º 2
0
    def test_find_in_stack(self):
        names = ("Jose", "Rolf", "Anna")

        nodes = [Node(name) for name in names]

        stack = Stack()

        for node in nodes:
            stack.add_to_stack_start(node)

        marker = stack.get_root()
        for i in range(len(nodes) - 1, -1, -1):
            self.assertEqual(stack.find(marker.text), nodes[i])
            marker = marker.get_next()
Ejemplo n.º 3
0
    def test_remove_start_from_stack(self):
        names = ("Jose", "Rolf", "Anna")

        nodes = [Node(name) for name in names]

        stack = Stack()

        for node in nodes:
            stack.add_to_stack_start(node)

        self.assertIsNotNone(stack.find("Jose"))

        popped_node = stack.remove_start_from_stack()

        self.assertEqual(popped_node, nodes[len(nodes) - 1])

        with self.assertRaises(LookupError):
            stack.find("Anna")