From 995f9ff194d7609b3c4e8c65825b65cc852feb99 Mon Sep 17 00:00:00 2001 From: Raspithek Date: Thu, 4 May 2023 06:48:13 +0200 Subject: [PATCH] testing Kapitel (Vorbereitung) --- testing/.gitignore | 2 ++ testing/Fib-Testdaten.xlsx | Bin 0 -> 4963 bytes testing/__pycache__/fib.cpython-39.pyc | Bin 0 -> 306 bytes testing/fib.py | 13 +++++++ testing/testfib.py | 20 +++++++++++ testing/unittestfib.py | 45 +++++++++++++++++++++++++ 6 files changed, 80 insertions(+) create mode 100644 testing/.gitignore create mode 100644 testing/Fib-Testdaten.xlsx create mode 100644 testing/__pycache__/fib.cpython-39.pyc create mode 100644 testing/fib.py create mode 100644 testing/testfib.py create mode 100644 testing/unittestfib.py 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 0000000000000000000000000000000000000000..f13a18b71ca3347bce3c0b3b74294098333f6e0b GIT binary patch literal 4963 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 SQ3e1AFqbrj5J`W(@_zx}!d!p= literal 0 HcmV?d00001 diff --git a/testing/__pycache__/fib.cpython-39.pyc b/testing/__pycache__/fib.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f8181fff8e3cd98fb585bc0f44383fd12165b585 GIT binary patch literal 306 zcmYjLF$%&!5Zt?q8pL#hzCcXleLzGIEYqa35Y&q?s7bgxg@Bztz;E~lf0EWJU$AmF zSY%;lXLoP*cH?W%qBMKd@SbA;(5DNyVLD^OgC2dtQ4A^1*(69{&U(mzN$ zhy}uok#6X`g6=6Ef~ATN;m&F$NDUyw?X)fMxh8u>r0M&L$Y-V4CtFM`eSvOc>pPN% z>>SBFk#S;WUf4sH9xvKR8yTCVu|&fpFEm}!LKt#^aG4|Op3h5R3RCNPV}m;QvUI2C OOkGaVj4m)luJ{4K-8C@) literal 0 HcmV?d00001 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()