import sys import unittest from loesung import summiere_umsaetze class Tests(unittest.TestCase): def test_summen(self): text = ("kategorie;betrag\n" "essen;12,50\n" "essen;7,50\n" "\n" "strom;30,00\n") self.assertEqual(summiere_umsaetze(text), {"essen": 20.0, "strom": 30.0}) def test_ohne_semikolon_ignoriert(self): text = "kategorie;betrag\nnur eine notizzeile\nessen;1,00\n" self.assertEqual(summiere_umsaetze(text), {"essen": 1.0}) def test_kaputter_betrag(self): with self.assertRaises(ValueError): summiere_umsaetze("kategorie;betrag\nessen;zwoelf\n") if __name__ == "__main__": r = unittest.main(exit=False).result sys.exit(0 if r.wasSuccessful() else 1)