#!/usr/bin/python3 # -*- coding: utf-8 -*- import unittest # %% A more effficient example of fib def fib(n: int) -> int: """ Calculates the n-th Fibonacci number iteratively Notice the multi-line setup: """ a, b = 0, 1 for i in range(n): a, b = b, a + b # If you want to debug these with a debugger, # Just set a breakpoint within the function you want to test. return a class FibonacciTest(unittest.TestCase): def setUp(self) -> None: self.fib_elems = ((0, 0), (1, 1), (2, 1), (3, 2), (4, 3), (5, 5)) print("\n----setUp executed!") def testCalculation(self) -> None: for (i, val) in self.fib_elems: self.assertEqual(fib(i), val) def tearDown(self) -> None: del self.fib_elems print("\n----tearDown executed!") if __name__ == "__main__": unittest.main(verbosity=2)