Skip to content
Snippets Groups Projects
Commit aaa555f6 authored by Daniel Rafeh's avatar Daniel Rafeh
Browse files

Liste für Tests erstellt

parent b6d7cd1e
No related branches found
No related tags found
2 merge requests!4Main,!2Main to develop
Pipeline #19932 passed
File added
from abc import ABC, abstractmethod
import unittest
class ICalculator(ABC):
@abstractmethod
def add(self, a, b):
pass
@abstractmethod
def sub(self, a, b):
pass
@abstractmethod
def mul(self, a, b):
pass
@abstractmethod
def div(self, a, b):
pass
class Calculator(ICalculator):
def add(self, a, b):
return a + b
def sub(self, a, b):
return a - b
def mul(self, a, b):
return a * b
def div(self, a, b):
if b == 0:
raise ValueError("Division durch die Zahl null ist nicht erlaubt")
return a / b
class TestCalculator(unittest.TestCase):
def setUp(self):
self.calc = Calculator()
# Test add-function
def test_add(self):
erg = self.calc.add(3, 5)
self.assertEqual(erg, 8)
# Test sub-function
def test_sub(self):
erg = self.calc.sub(10, 3)
self.assertEqual(erg, 7)
# Test mul-function
def test_mul(self):
erg = self.calc.mul(4, 6)
self.assertEqual(erg, 24)
# Test div-function
def test_div(self):
erg = self.calc.div(20, 4)
self.assertEqual(erg, 5)
# Test div/0
def test_div_by_zero(self):
with self.assertRaises(ValueError):
self.calc.div(10, 0)
if __name__ == "__main__":
unittest.main()
# Bei Eingabe der Zahl 1 soll "I" ausgegeben werden
# Bei Eingabe der Zahl 2 soll "II" ausgegeben werden
# Bei Eingabe der Zahl 3 soll "III" ausgegeben werden
# Bei Eingabe der Zahl 4 soll "IV" ausgegeben werden
# Bei Eingabe der Zahl 5 soll "V" ausgegeben werden
# Bei Eingabe der Zahl 9 soll "IX" ausgegeben werden
# Bei Eingabe der Zahl 10 soll "X" ausgegeben werden
# Bei Eingabe der Zahl 21 soll "XXI" ausgegeben werden
# Bei Eingabe der Zahl 50 soll "L" ausgegeben werden
# Bei Eingabe der Zahl 100 soll "C" ausgegeben werden
# Bei Eingabe der Zahl 500 soll "D" ausgegeben werden
# Bei Eingabe der Zahl 1000 soll "M" ausgegeben werden
# Bei Eingabe der Zahl 1111 soll "MCXI" ausgegeben werden
# Bei Eingabe der Zahl 99 soll "XCIX" ausgegeben werden
# Bei Eingabe der Zahl 0 soll "Es gibt keine römische Null" ausgegeben werden
# Bei Eingabe der Zahl 40 soll "XL" ausgegeben werden
# Bei Eingabe eines Strings statt Integer-Wert soll "Gebe eine Zahl ein" ausgegeben werden
\ No newline at end of file
from abc import ABC, abstractmethod
import unittest
# Bei Eingabe des Strings Decker liegert die Funktion 3
# Bei Eingabe eines leeren Strings soll 0 ausgegeben werden
# Bei Eingabe des Strings Hallo soll 0 ausgegeben werden
# Bei Eingabe von Groß-/Kleinschreibung soll trotzdem der entsprechende Wert rauskommen
# Bei Eingabe vom Buchstaben D oder E soll trotzdem die 1 rauskommen
class ICounter(ABC):
@abstractmethod
def count_ED(self, s):
pass
class Counter(ICounter):
def count_ED(self, s):
s = s.upper()
return s.count("E") + s.count("D")
class TestCounter(unittest.TestCase):
def setUp(self):
self.c = Counter()
def test_count_ED_regular(self):
res = self.c.count_ED("Decker")
self.assertEqual(res, 3)
def test_count_ED_empty(self):
res = self.c.count_ED(" ")
self.assertEqual(res, 0)
def test_count_ED_wo(self):
res = self.c.count_ED("Hallo")
self.assertEqual(res, 0)
def test_count_ED_insensetiv(self):
res = self.c.count_ED("Der Esel")
self.assertEqual(res, 4)
def test_count_ED_oneL(self):
res = self.c.count_ED('E')
self.assertEqual(res, 1)
res = self.c.count_ED('D')
self.assertEqual(res, 1)
res = self.c.count_ED('e')
self.assertEqual(res, 1)
res = self.c.count_ED('d')
self.assertEqual(res, 1)
if __name__ == "__main__":
unittest.main()
import sys
import unittest
from calculator import Calculator
class TestCalculator(unittest.TestCase):
def setUp(self):
self.c = Calculator()
# Test add-function
def test_add(self):
erg = self.c.add(3, 5)
self.assertEqual(erg, 8)
# Test sub-function
def test_sub(self):
erg = self.c.sub(10, 3)
self.assertEqual(erg, 7)
# Test mul-function
def test_mul(self):
erg = self.c.mul(4, 6)
self.assertEqual(erg, 24)
# Test div-function
def test_div(self):
erg = self.c.div(20, 4)
self.assertEqual(erg, 5)
# Test div/0
def test_div_by_zero(self):
with self.assertRaises(ValueError):
self.c.div(10, 0)
# Test negative numbers
# Test wrong inputs
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment