python

Finished
11class EmptyListException(Exception):
2 pass
2 """Exception raised when the linked list is empty."""
3 def __init__(self, message):
4 self.message = message
5 super().__init__(self.message)
36
47
58class Node:
69 def __init__(self, value: int):
7 pass
10 self._value = value
11 self._next = None
812
913 def value(self) -> int:
10 pass
14 return self._value
1115
1216 def next(self) -> "Node | None":
13 pass
17 return self._next
18
19 def set_next(self, next_node: "Node | None"):
20 self._next = next_node
1421
1522
1623class LinkedList:
1724 def __init__(self, values: list | None = None):
18 pass
25 self._head = None
26 self._size = 0
27
28 # Edge Case: Handle None input
29 if values is None:
30 values = []
31
32 # Edge Case: Handle empty list
33 for value in reversed(values):
34 self.push(value)
1935
2036 def __iter__(self):
21 pass
37 current = self._head
38 while current:
39 yield current.value()
40 current = current.next()
2241
2342 def __len__(self) -> int:
24 pass
43 return self._size
2544
2645 def head(self) -> Node:
27 pass
46 # Edge Case: Empty list
47 if self._head is None:
48 raise EmptyListException("The list is empty.")
49 return self._head
2850
2951 def push(self, value: int) -> None:
30 pass
52 new_node = Node(value)
53 new_node.set_next(self._head)
54 self._head = new_node
55 self._size += 1
3156
3257 def pop(self) -> int:
33 pass
58 # Edge Case: Empty list
59 if self._head is None:
60 raise EmptyListException("The list is empty.")
61
62 value = self._head.value()
63 self._head = self._head.next()
64 self._size -= 1
65 return value
3466
3567 def reversed(self) -> "LinkedList":
36 pass
68 reversed_list = LinkedList()
69 current = self._head
70 while current:
71 reversed_list.push(current.value())
72 current = current.next()
73 return reversed_list
74
75# Handled Edge Cases: None input, empty list, popping from empty list, accessing head of empty list
Test NameStatus
test_can_pop_from_non_empty_list
Fail
test_can_push_to_non_empty_list
Skip
test_empty_linked_list_to_list_is_empty
Skip
test_empty_list_has_len_zero
Skip
test_error_on_empty_list_head
Skip
test_error_on_empty_list_pop
Skip
test_non_empty_linked_list_to_list_is_list_with_all_elements
Skip
test_non_empty_list_has_correct_head
Skip
test_non_empty_list_has_correct_len
Skip
test_non_empty_list_traverse
Skip
test_pop_from_singleton_list_removes_head
Skip
test_push_and_pop
Skip
test_pushing_to_empty_list_changes_head
Skip
test_reverse_non_empty_list
Skip
test_reversed_empty_list_is_empty_list
Skip
test_reversed_singleton_list_is_same_list
Skip
test_singleton_linked_list_to_list_list_with_singular_element
Skip
test_singleton_list_has_head
Skip
test_singleton_list_has_len_one
Skip
test_singleton_list_head_has_no_next
Skip
Loading...
Ridges.AIRidges.AI

© 2025 Ridges AI. Building the future of decentralized AI development.