Exemple #1
0
 def testGehaltAndSonderzahlungMonatlich(self):
     self.givenGehalt(2012, AllGuS.E10_3, 8., 75.)
     s = Stelle(AllGuS.E10_3, date(2012, 1, 1), dec(40.))
     self.assertAlmostEqual(dec(1.3 * 8. * .4),
                            self.ötv.monatsGesamt(2012, s))
     self.assertAlmostEqual(dec(1.3 * 8. * .4 * .75),
                            self.ötv.sonderzahlung(2012, s))
Exemple #2
0
    def testLaufendSimple(self):

        s = Stelle(AllGuS.E10_3, date(2019, 7, 1))
        # NB: Enddatum ist nicht der letzte Tag im Monat, daher ist Sep nicht dabei
        anst = Anstellung(s, date(2019, 7, 1), date(2019, 9, 13))
        expected = [(date(2019, 7, 31), s), (date(2019, 8, 31), s)]
        self.assertEqual(expected, anst.monatsListe)
Exemple #3
0
    def testLaufendJahresWechsel(self):

        s = Stelle(AllGuS.E10_3, date(2019, 7, 1))
        anst = Anstellung(s, date(2019, 12, 1), date(2020, 2, 29))
        expected = [(date(2019, 12, 31), s), (date(2020, 1, 31), s),
                    (date(2020, 2, 29), s)]
        self.assertEqual(expected, anst.monatsListe)
Exemple #4
0
    def testE10MitVorgeschichte(self):
        self.givenGehalt(2019, AllGuS.E10_3, 6., 50.)
        lCalc = Summierer(self.ötv).calcSonderzahlung

        anst = Anstellung(Stelle(AllGuS.E10_3, date(2019, 1, 1)),
                          date(2019, 1, 1), date(2020, 1, 1))
        self.assertAlmostEqual(Decimal(1.3 * 3.),
                               lCalc(date(2019, 11, 1), anst))
Exemple #5
0
    def testNovemberAndDezember(self):
        self.givenGehalt(2019, AllGuS.E10_3, 12., 75.)
        lCalc = Summierer(self.ötv).calcSonderzahlung

        anst = Anstellung(Stelle(AllGuS.E10_3, date(2019, 1, 1)),
                          date(2019, 1, 1), date(2019, 12, 31))

        self.assertAlmostEqual(Decimal(1.3 * 9.),
                               lCalc(date(2019, 11, 1), anst))
Exemple #6
0
    def testFalscheArgumente(self):

        s = Stelle(AllGuS.E10_3, date(2019, 7, 1))
        try:
            Anstellung(s, date(2019, 5, 1), date(2019, 8, 1))
        except AssertionError as e:
            assert "liegt nach dem Anfangsdatum" in str(e), "Got: {}".format(e)
        else:
            self.fail("Expected AssertionError")
        try:
            Anstellung(s, date(2019, 8, 1), date(2019, 7, 1))
        except AssertionError as e:
            assert "liegt nach dem Enddatum" in str(e), "Got: {}".format(e)
        else:
            self.fail("Expected AssertionError")
Exemple #7
0
    def berechne(self):
        vonDate = qDate2date(self.beschäftigung.vonPicker.date())
        bisDate = qDate2date(self.beschäftigung.bisPicker.date())

        gruppe = self.beschäftigung.gruppe.currentItem()
        stufe = self.weiterOderNeu.stufe.currentItem()
        umfang = dec(self.beschäftigung.umfang.value())

        stufenStart = qDate2date(self.weiterOderNeu.seit(
        )) if self.weiterOderNeu.istWeiter() else vonDate

        anst = Anstellung(Stelle(GuS(gruppe, stufe), stufenStart, umfang),
                          vonDate, bisDate)
        summe, details = self.summierer.calc(anst)
        self.details.clear()
        for monatsKosten in details:
            self.details.addDetail(monatsKosten)
        self.summe.total.setText("{0:n} €".format(summe))
Exemple #8
0
 def testNovemberButNoDezember(self):
     anst = Anstellung(Stelle(AllGuS.E10_3, date(2019, 1, 1)),
                       date(2019, 1, 1), date(2019, 11, 30))
     self.assertEqual(Decimal(0.), trivialCalc(date(2019, 11, 1), anst))
Exemple #9
0
 def testAmEndstufe(self):
     start = Stelle(AllGuS.E10_6, date(2019, 1, 1))
     self.assertEqual(start, start.am(date(2043, 3, 4)))
Exemple #10
0
 def testAmÜbersprung(self):
     start = Stelle(AllGuS.E10_1, date(2019, 1, 1))
     self.assertEqual(Stelle(AllGuS.E10_3, date(2022, 1, 1)),
                      start.am(date(2023, 3, 4)))
Exemple #11
0
 def testAmRandfall(self):
     start = Stelle(AllGuS.E10_1, date(2019, 1, 1))
     self.assertEqual(Stelle(AllGuS.E10_2, date(2020, 1, 1)),
                      start.am(date(2020, 1, 1)))
Exemple #12
0
 def testAmAufstieg(self):
     start = Stelle(AllGuS.E10_1, date(2019, 1, 1))
     self.assertEqual(Stelle(AllGuS.E10_2, date(2020, 1, 1)),
                      start.am(date(2020, 2, 17)))
Exemple #13
0
    def testFindBaseStellenSprungImAugust(self):

        s1 = Stelle(AllGuS.E10_1, date(2019, 8, 1))
        s2 = Stelle(AllGuS.E10_2, date(2020, 8, 1))
        anst = Anstellung(s1, date(2019, 8, 1), date(2021, 3, 31))
        self.assertEqual([s1, s2, s2], anst.findBaseStellen(2020))
Exemple #14
0
    def testFindBaseStellenNurNovember(self):

        s = Stelle(AllGuS.E10_3, date(2019, 11, 1))
        anst = Anstellung(s, date(2019, 11, 1), date(2020, 3, 31))
        self.assertEqual([s], anst.findBaseStellen(2019))
Exemple #15
0
    def testFindBaseStellenEinfachesGanzesJahr(self):

        s = Stelle(AllGuS.E10_3, date(2019, 1, 1))
        anst = Anstellung(s, date(2019, 1, 1), date(2020, 3, 31))
        self.assertEqual([s, s, s], anst.findBaseStellen(2019))
Exemple #16
0
 def testAmEinfach(self):
     start = Stelle(AllGuS.E10_2, date(2019, 1, 1))
     self.assertEqual(start, start.am(date(2019, 2, 1)))
Exemple #17
0
    def testLetzterTagImMonat(self):

        s = Stelle(AllGuS.E10_3, date(2019, 7, 1))
        anst = Anstellung(s, date(2019, 7, 1), date(2019, 8, 31))
        expected = [(date(2019, 7, 31), s), (date(2019, 8, 31), s)]
        self.assertEqual(expected, anst.monatsListe)