diff --git a/String calculator b/String calculator index 1c969fab3e7d54a165db1a7794cc5b2275d85584..36824a8a736a7d3e9c95eb1f9d943cdb100147a6 100644 --- a/String calculator +++ b/String calculator @@ -2,6 +2,10 @@ #test no string #test add 1 string #test adding 2 strings + +#add 3 strings +#add 4 strings +#add 6 strings import unittest class StringCalculator: @@ -10,11 +14,10 @@ class StringCalculator: 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 + 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,6 +30,11 @@ 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) if __name__=='__main__': unittest.main()