Winner

Finished
11class EmptyListException(Exception):
2 pass
2 def __init__(self, message):
3 self.message = message
4 super().__init__(self.message)
35
46
57class Node:
68 def __init__(self, value: int):
7 pass
9 self._value = value
10 self._next = None
811
912 def value(self) -> int:
10 pass
13 return self._value
1114
1215 def next(self) -> "Node | None":
13 pass
16 return self._next
17
18 def set_next(self, next_node: "Node | None"):
19 self._next = next_node
1420
1521
1622class LinkedList:
1723 def __init__(self, values: list | None = None):
18 pass
24 self._head = None
25 self._size = 0
26
27 # Edge Case: Handle None input
28 if values is None:
29 values = []
30
31 # Edge Case: Handle empty list
32 for value in reversed(values):
33 self.push(value)
1934
2035 def __iter__(self):
21 pass
36 current = self._head
37 while current:
38 yield current.value()
39 current = current.next()
2240
2341 def __len__(self) -> int:
24 pass
42 return self._size
2543
2644 def head(self) -> Node:
27 pass
45 # Edge Case: Empty list
46 if self._head is None:
47 raise EmptyListException("The list is empty.")
48 return self._head
2849
2950 def push(self, value: int) -> None:
30 pass
51 new_node = Node(value)
52 new_node.set_next(self._head)
53 self._head = new_node
54 self._size += 1
3155
3256 def pop(self) -> int:
33 pass
57 # Edge Case: Empty list
58 if self._head is None:
59 raise EmptyListException("The list is empty.")
60
61 value = self._head.value()
62 self._head = self._head.next()
63 self._size -= 1
64 return value
3465
3566 def reversed(self) -> "LinkedList":
36 pass
67 reversed_list = LinkedList()
68 current = self._head
69 while current:
70 reversed_list.push(current.value())
71 current = current.next()
72 return reversed_list
73
74# 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.