5. Stos

5.1. Implementacja testów

[2]:
import unittest

class TestStack(unittest.TestCase):
    def setUp(self):
        self.stack = Stack()
        self.stack.values = [1, 2, 3]
    def test_pop(self):
        result = self.stack.pop()
        self.assertEqual(result, 3)
        result2 = self.stack.pop()
        self.assertEqual(result2, 2)
    def test_push(self):
        self.stack.push(9)
        result = self.stack.pop()
        self.assertEqual(result, 9)

5.2. Implementacja stosu

[3]:
class Stack:
    def __init__(self):
        self.head = None
        self.values = []
    def push(self, value):
        self.values.append(value)
        self.head = value
    def pop(self):
        ret = self.values.pop()
        return ret

5.3. Uruchomienie testów

[4]:
if __name__ == '__main__':
    unittest.main(argv=['first-arg-is-ignored'], exit=False)
..
----------------------------------------------------------------------
Ran 2 tests in 0.003s

OK
[ ]: