Sha256: bd4bb22fb7c5b782aff28b379c0f5cf3951de13913ddcd1a3a2fa15e07bd3356

Contents?: true

Size: 1.83 KB

Versions: 25

Compression:

Stored size: 1.83 KB

Contents

import unittest

from linked_list import LinkedList


class LinkedListTests(unittest.TestCase):

    def setUp(self):
        self.list = LinkedList()

    def test_push_pop(self):
        self.list.push(10)
        self.list.push(20)
        self.assertEqual(20, self.list.pop())
        self.assertEqual(10, self.list.pop())

    def test_push_shift(self):
        self.list.push(10)
        self.list.push(20)
        self.assertEqual(10, self.list.shift())
        self.assertEqual(20, self.list.shift())

    def test_unshift_shift(self):
        self.list.unshift(10)
        self.list.unshift(20)
        self.assertEqual(20, self.list.shift())
        self.assertEqual(10, self.list.shift())

    def test_unshift_pop(self):
        self.list.unshift(10)
        self.list.unshift(20)
        self.assertEqual(10, self.list.pop())
        self.assertEqual(20, self.list.pop())

    def test_all(self):
        self.list.push(10)
        self.list.push(20)
        self.assertEqual(20, self.list.pop())
        self.list.push(30)
        self.assertEqual(10, self.list.shift())
        self.list.unshift(40)
        self.list.push(50)
        self.assertEqual(40, self.list.shift())
        self.assertEqual(50, self.list.pop())
        self.assertEqual(30, self.list.shift())

    @unittest.skip("extra-credit")
    def test_length(self):
        self.list.push(10)
        self.list.push(20)
        self.assertEqual(2, len(self.list))
        self.list.shift()
        self.assertEqual(1, len(self.list))
        self.list.pop()
        self.assertEqual(0, len(self.list))

    @unittest.skip("extra-credit")
    def test_iterator(self):
        self.list.push(10)
        self.list.push(20)
        iterator = iter(self.list)
        self.assertEqual(10, next(iterator))
        self.assertEqual(20, next(iterator))


if __name__ == '__main__':
    unittest.main()

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
trackler-2.0.8.27 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.26 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.24 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.23 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.22 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.21 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.20 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.19 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.18 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.17 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.16 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.15 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.14 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.13 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.12 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.11 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.10 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.9 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.8 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.0.8.7 tracks/python/exercises/linked-list/linked_list_test.py