From 757e3cbcd0c5da03919b09d49619a2c82bd66eea Mon Sep 17 00:00:00 2001 From: Julien Lengrand-Lambert Date: Sat, 7 Dec 2013 15:27:50 +0100 Subject: [PATCH] Implements has_next() method in list item --- 04_linkedList/ll.py | 25 +++++++++++++++++++++---- 04_linkedList/ll_test.py | 13 +++++++++++-- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/04_linkedList/ll.py b/04_linkedList/ll.py index 415cba5..e1b26c9 100644 --- a/04_linkedList/ll.py +++ b/04_linkedList/ll.py @@ -5,13 +5,30 @@ Implementation of Linked Lists 2013/12 """ - class SingleListItem(): """ Item from a Single Linked List. Contains only a previous next element, and a value - """ - def __init__(self, value, next): + """ + def __init__(self, value, nexti=None): self.value = value - self.next = next + self.nexti = nexti + def has_next(self): + """ + Returns True if the item has a next value + """ + return not (self.nexti is None) + +class SingleLinkedList(): + """ + Linked list with only one link between items. + The list can only be traversed one way""" + + def __init__(): + self.root= SinglelistItem(None, None) # The head + +if __name__ == "__main__": + a = 12 + t = SingleListItem(12) + print t.has_next() diff --git a/04_linkedList/ll_test.py b/04_linkedList/ll_test.py index 25de37d..9c91264 100644 --- a/04_linkedList/ll_test.py +++ b/04_linkedList/ll_test.py @@ -13,9 +13,18 @@ class test_single_linked_list_item(unittest.TestCase): def test_item(self): a = 12 - t = SingleListItem(12, None) + t = SingleListItem(12) self.assertEqual(a, t.value) + def test_has_next(self): + a = 12 + t = SingleListItem(12) + + self.assertEqual(False, t.has_next()) + + b = SingleListItem(13, t) + self.assertEqual(True, b.has_next()) + if __name__ == "__main__": - unittest.main() \ No newline at end of file + unittest.main()