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

Concepts were thrown away.

parent dee97d3e
No related branches found
No related tags found
No related merge requests found
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()
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()
print("Hello World :)")
\ No newline at end of file
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