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
Branches
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.
Please to comment