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

no test failed

parent 2f67019c
Branches feature2AliciMuhamed
No related tags found
No related merge requests found
Showing
with 46 additions and 29 deletions
File added
......@@ -27,6 +27,9 @@
import unittest
import re
import sys
sys.path.append("/Users/marvin/Documents/GitHub/assignment-2")
from ProjektTest.stringCalculator import StringCalculator as Calc
class StringCalculator:
def __init__(self):
......
......
......@@ -9,3 +9,17 @@
| RafehDaniel | no | 2 |
| WeishauptOrlando | – | – |
| YildirimHatice | – | 10 |
## Eigene Implementierung gegen andere Tests
| Name | Interface break | Failed Testcases |
|-------------------|------------------|-------------------|
| AliciMuhamed | no | 0 |
| BerishaAlma | - | - |
| GotsisWasilios | - | - |
| PikkemaatLasse | – | – |
| RafehDaniel | - | - |
| WeishauptOrlando | – | – |
| YildirimHatice | – | - |
File moved
import re
import unittest
from other.YildirimHatice.StringCalculator import StringCalculator as Hatice
#class StringCalculator:
# def add(self, numbers: str) -> int:
class StringCalculator:
def add(self, numbers: str) -> int:
#Feature 1: Leerer String ergibt 0
#if not numbers:
# return 0
if not numbers:
return 0
# Vorbereitung für weiter features
#delimiters = [",", "\n"]
#if numbers.startswith("//"):
# delimiter_end_index = numbers.index("\n")
# delimiter_section = numbers[2:delimiter_end_index]
# numbers = numbers[delimiter_end_index + 1:]
delimiters = [",", "\n"]
if numbers.startswith("//"):
delimiter_end_index = numbers.index("\n")
delimiter_section = numbers[2:delimiter_end_index]
numbers = numbers[delimiter_end_index + 1:]
# Feature 7: Delimiter beliebiger Länge im Format //[***]
#if delimiter_section.startswith("[") and delimiter_section.endswith("]"):
# delimiter = re.escape(delimiter_section[1:-1])
#else:
# delimiter = re.escape(delimiter_section)
if delimiter_section.startswith("[") and delimiter_section.endswith("]"):
delimiter = re.escape(delimiter_section[1:-1])
else:
delimiter = re.escape(delimiter_section)
#delimiters.append(delimiter)
delimiters.append(delimiter)
# Feature 3: Erlaube Zeilenumbrüche als Trenner
#split_pattern = "|".join(delimiters)
#number_list = re.split(split_pattern, numbers)
split_pattern = "|".join(delimiters)
number_list = re.split(split_pattern, numbers)
# Feature 4: Negativzahlen abfangen
#negatives = []
#for num in number_list:
# if num.strip() != "":
# value = int(num)
# if value < 0:
# negatives.append(value)
negatives = []
for num in number_list:
if num.strip() != "":
value = int(num)
if value < 0:
negatives.append(value)
# Exception bei negativen Zahlen
#if negatives:
# raise ValueError(f"Negative numbers are not allowed: {', '.join(map(str, negatives))}")
if negatives:
raise ValueError(f"Negative numbers are not allowed: {', '.join(map(str, negatives))}")
#Feature 2: Beliebig viele Zahlen summieren
#return sum(int(n) for n in number_list if n.strip() != "" and int(n) <= 1000)
return sum(int(n) for n in number_list if n.strip() != "" and int(n) <= 1000)
......@@ -57,7 +57,7 @@ class TestStringCalculator(unittest.TestCase):
def setUp(self):
"""neue Instanz des StringCalculators vor jedem Test"""
self.calculator = Hatice()
self.calculator = StringCalculator()
def test_empty_string_returns_zero(self):
"""Feature 1: Leerer String soll 0 ergeben"""
......
......
File deleted
File deleted
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment