From e7cb7f7fa35c56ac5a6cda484f6188391711016a Mon Sep 17 00:00:00 2001 From: Muhamed <Muhamedalici@hotmail.de> Date: Thu, 27 Mar 2025 21:52:05 +0100 Subject: [PATCH] test over 1000 --- String calculator | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/String calculator b/String calculator index fd9052f..8d619ae 100644 --- a/String calculator +++ b/String calculator @@ -17,6 +17,10 @@ # add numbers seperated by a custom delimiter # Test with - Numbers +#numbers over 1000 should be ignored +#1001 + 2 should return 2 +#1001 -2 should return negatives not allowed + import unittest import re @@ -30,25 +34,37 @@ class StringCalculator: if numbers.startswith("//"): delimiter_end_index = numbers.index("\n") delimiter = numbers[2:delimiter_end_index] + + if delimiter.startswith("[")and delimiter.endswith("]"): + delimiter = delimiter[1:-1] + numbers = numbers[delimiter_end_index + 1:] numbers = numbers.replace(delimiter,",") + numbers = numbers.replace("\n",",") number_list = numbers.split(',')#aufteilung der strings negative = [] #array für die negativen nummern + numbers_to_add = [] #total_sum = 0 for number_str in number_list: #jedes element in der liste wird durch genommen #if number_str: number = int(number_str)# summierung der integer if number <0: negative.append(number) + elif number > 1000: + continue + else: + numbers_to_add.append(number) #total_sum += number if negative: print(f"Negative Zahlen:{negative} ")#ausgabe negative zahlen raise ValueError(f"negatives not allowed: {','.join(map(str, negative))}") - - return sum(map(int,number_list)) + self.called_count += 1 + return sum(numbers_to_add) + def get_called_count(self): + return self.called_count class TestStingCalculator(unittest.TestCase): @@ -91,6 +107,11 @@ class TestStingCalculator(unittest.TestCase): with self.assertRaises(ValueError) as e: self.calculator.add("//;\n-3,4") self.assertEqual(str(e.exception),"negatives not allowed: -3") + + def test_add_numbers_greater_than_1000(self): + self.assertEqual(self.calculator.add("1,1001,2,3"),6) + def test_add_numbers_greater_than_1000_1002(self): + self.assertEqual(self.calculator.add("1002,1,2,3"),6) -- GitLab