Sha256: 15246a10c9e2fe2e42f91562cadbe9b48418d3ae0c39e39316e23a07786cd419

Contents?: true

Size: 1.83 KB

Versions: 250

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(self.list.pop(), 20)
        self.assertEqual(self.list.pop(), 10)

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

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

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

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

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

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


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

Version data entries

250 entries across 250 versions & 1 rubygems

Version Path
trackler-2.2.1.160 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.159 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.158 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.157 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.156 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.155 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.154 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.153 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.152 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.151 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.150 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.149 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.148 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.147 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.146 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.145 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.144 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.143 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.142 tracks/python/exercises/linked-list/linked_list_test.py
trackler-2.2.1.141 tracks/python/exercises/linked-list/linked_list_test.py