diff --git a/testing/.gitignore b/testing/.gitignore new file mode 100644 index 0000000..c7fb3aa --- /dev/null +++ b/testing/.gitignore @@ -0,0 +1,2 @@ +./__pycache__ +./network/__pycache__/* diff --git a/testing/Fib-Testdaten.xlsx b/testing/Fib-Testdaten.xlsx new file mode 100644 index 0000000..f13a18b Binary files /dev/null and b/testing/Fib-Testdaten.xlsx differ diff --git a/testing/__pycache__/fib.cpython-39.pyc b/testing/__pycache__/fib.cpython-39.pyc new file mode 100644 index 0000000..f8181ff Binary files /dev/null and b/testing/__pycache__/fib.cpython-39.pyc differ diff --git a/testing/fib.py b/testing/fib.py new file mode 100644 index 0000000..dc74e18 --- /dev/null +++ b/testing/fib.py @@ -0,0 +1,13 @@ +# fib.py +import sys + +# berechnet rekursiv die Fibonaccizahl n. +def fib(n): + +# Rekursionsbedingung + if n in [0,1]: + return 1 + else: +# Rekursionsaufruf + return fib(n-1) + fib(n-2) + diff --git a/testing/testfib.py b/testing/testfib.py new file mode 100644 index 0000000..e6f0892 --- /dev/null +++ b/testing/testfib.py @@ -0,0 +1,20 @@ +from fib import fib +import logging + +logging.basicConfig( format='%(asctime)-15s [%(levelname)s] %(funcName)s: %(message)s', level=logging.DEBUG) + +logging.debug('Test startet') + +result5 = fib(5) + +result8 = fib(8) + + +if result5 == 8 and result8 == 34: + logging.info('Tests erfolgreich') +else: + logging.error('Tests fehlerhaft') + +logging.debug('Testende') + + diff --git a/testing/unittestfib.py b/testing/unittestfib.py new file mode 100644 index 0000000..3d51ede --- /dev/null +++ b/testing/unittestfib.py @@ -0,0 +1,45 @@ +import unittest +from fib import fib +import logging + +logging.basicConfig( format='%(asctime)-15s [%(levelname)s] %(funcName)s: %(message)s', level=logging.DEBUG) + +class TestFib(unittest.TestCase): + +# Methode zur Division a/b. + def divide(self, a,b): + if b == 0: + raise ValueError('Dividend darf nicht 0 sein.') + + return int(a/b) + + +# Die setUp() Methode wird zu Beginn jedes Testcases aufgrufen + def setUp(self): + logging.debug('setting up test') + self.results = [1,1,2,3,5,8,13,21,34,55] + +#die beiden Tests aus ./testfib.py mit unittest + def test_fib(self): + +# assertEqual(n,r) testet, ob das Resultat r der Vorgabe n entspricht. + self.assertEqual(8,fib(5)) + self.assertEqual(34,fib(8)) + + def test_mult_fib(self): + results =[1,1,2,3,5,8,13,21,34,55] + + for n in range(0,9): + self.assertEqual(results[n],fib(n)) + + def test_divide(self): + + self.assertEqual(2, self.divide(2,1)) + self.assertEqual(2, self.divide(4,2)) + self.assertEqual(3, self.divide(6,2)) + + with self.assertRaises(ValueError): + self.divide(1,0) + +if __name__ == '__main__': + unittest.main()