diff --git a/String calculator b/String calculator index 1c969fab3e7d54a165db1a7794cc5b2275d85584..9c8f5f2faa5c1cf9894cd1fb5653481c47c010f7 100644 --- a/String calculator +++ b/String calculator @@ -2,6 +2,14 @@ #test no string #test add 1 string #test adding 2 strings + +#add 3 strings +#add 4 strings +#add 6 strings + +#\n statt , bei 2 strings +#\n statt , bei mehreren strings + import unittest class StringCalculator: @@ -9,12 +17,12 @@ class StringCalculator: if not numbers: return 0 else: - number_list = numbers.split(',')#aufteilung der strings - if len(number_list) ==1: - return int(number_list[0])#bei einem string wird er in int umgewandelt - elif len(number_list)==2: - return int(number_list[0])+ int(number_list[1])#bei 2 strings wird beides in int verwandelt und die summe zurück gegeben(Position 1/0+Position 2/1) - return 0 + numbers = numbers.replace('\n',',')#aufteilung der strings + number_list = numbers.split(',') + total_sum = 0 + for number_str in number_list: #jedes element in der liste wird durch genommen + total_sum += int(number_str)# summierung der integer + return total_sum class TestStingCalculator(unittest.TestCase): @@ -27,7 +35,15 @@ class TestStingCalculator(unittest.TestCase): def test_multiple_numbers(self): calculator=StringCalculator() self.assertEqual(calculator.add("5,5"),10)#eingabe mehrere strings + def test_unknowen_amount_of_numbers(self): + calculator = StringCalculator() + self.assertEqual(calculator.add("1,2,3"),6) + self.assertEqual(calculator.add("10,20,30,40"),100) + self.assertEqual(calculator.add("1,2,3,4,5,6"),21) + + def test_numbers_seperated_by_newline(self): + calculator=StringCalculator() + self.assertEqual(calculator.add("1\n2"),3) if __name__=='__main__': - unittest.main() - \ No newline at end of file + unittest.main() \ No newline at end of file