Skip to content
Snippets Groups Projects
Commit b69dc03c authored by Marvin Serchimo's avatar Marvin Serchimo
Browse files

Calculator test bsp

parent 02cda5ba
No related branches found
No related tags found
No related merge requests found
Addition:
Normale Addition add(2, 3) 5 Standardfall
Addition mit Null add(0, 5) 5 Null sollte keinen Einfluss haben
Addition mit negativen Zahlen add(-2, -3) -5 Beide Zahlen negativ
Gemischte Addition (positiv & negativ) add(-5, 10) 5 Addition mit negativem Wert
Addition mit Fließkommazahlen add(2.5, 3.5) 6.0 Floats sollten unterstützt werden
Addition mit sehr großen Zahlen add(1000000, 2000000) 3000000 Test für große Werte
Addition mit sehr kleinen Zahlen add(0.0001, 0.0002) 0.0003 Test für Genauigkeit
Addition mit Ganzzahl und Float add(3, 4.5) 7.5 Mischung aus Int und Float
Subtraktion:
Normale Subtraktion sub(5, 3) 2 Standardfall
Subtraktion mit Null sub(7, 0) 7 Null sollte keinen Einfluss haben
Subtraktion mit negativem Ergebnis sub(3, 7) -4 Ergebnis ist negativ
Subtraktion mit negativen Zahlen sub(-5, -3) -2 Beide Zahlen negativ
Subtraktion mit negativem Minuend sub(-2, 5) -7 Negative Zahl als Minuend
Subtraktion mit negativem Subtrahend sub(10, -5) 15 Negative Zahl als Subtrahend
Subtraktion mit Fließkommazahlen sub(5.5, 2.5) 3.0 Floats sollten unterstützt werden
Subtraktion mit sehr großen Zahlen sub(5000000, 2000000) 3000000 Test für große Werte
Subtraktion mit sehr kleinen Zahlen sub(0.0003, 0.0001) 0.0002 Test für Genauigkeit
File added
File added
from abc import ABC, abstractmethod
class ICalculator(ABC):
"""Interface Taschenrechner"""
@abstractmethod
def add(self, a, b):
pass
@abstractmethod
def sub(self, a, b):
pass
class Calculator(ICalculator):
"""Implementierung des Taschenrechners"""
def add(self, a, b):
return a + b
def sub(self, a, b):
return a - b
from abc import ABC, abstractmethod
class ICalculator(ABC):
"""Interface für einen Taschenrechner"""
@abstractmethod
def add(self, a, b):
"""Addiert zwei Zahlen"""
pass
@abstractmethod
def sub(self, a, b):
"""Subtrahiert zwei Zahlen"""
pass
\ No newline at end of file
main.py 0 → 100644
from calculator import Calculator
# Instanz der Calculator-Klasse erstellen
calc = Calculator()
# Funktionen des Taschenrechners verwenden
print("Addition:", calc.add(10, 5)) # → 15
print("Subtraktion:", calc.sub(10, 5)) # → 5
# Fehlerbehandlung testen (Division durch Null)
try:
print(calc.div(10, 0))
except ValueError as e:
print("Fehler:", e) # → "Division durch 0 ist nicht erlaubt."
import unittest
from calculator import Calculator
class TestCalculator(unittest.TestCase):
"""Testfälle für den Taschenrechner"""
def setUp(self):
"""Vor jedem Test wird eine neue Instanz von Calculator erstellt"""
self.calc = Calculator()
def test_addition(self):
"""Testfälle für die Addition"""
self.assertEqual(self.calc.add(2, 3), 5)
self.assertEqual(self.calc.add(-1, 1), 0)
self.assertEqual(self.calc.add(0, 0), 0)
self.assertEqual(self.calc.add(3, 4.5), 7.5)
def test_subtraction(self):
"""Testfälle für die Subtraktion"""
self.assertEqual(self.calc.sub(5, 3), 2)
self.assertEqual(self.calc.sub(10, 20), -10)
self.assertEqual(self.calc.sub(0, 0), 0)
if __name__ == '__main__':
unittest.main()
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