/[lohnrechner]/trunk/test_Lohnsteuer2006.py
ViewVC logotype

Diff of /trunk/test_Lohnsteuer2006.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/RCS/test_Lohnsteuer.py revision 5 by wilde, Wed Jan 12 17:16:34 2005 UTC test_Lohnsteuer2006.py revision 49 by wilde, Mon Jan 23 14:20:16 2006 UTC
# Line 3  Line 3 
3  # $Id$  # $Id$
4  # --------------------------------------------------------------------  # --------------------------------------------------------------------
5  #  #
6  # Copyright (c) 2005 by Intevation GmbH  # Copyright (c) 2005,2006 by Intevation GmbH
7  # Authors:  # Authors:
8  # Sascha Wilde <[email protected]>  # Sascha Wilde <[email protected]>
9  #  #
10  # This program is free software under the GPL (>=v2)  # This program is free software under the GPL (>=v2)
11  # Read the file COPYING coming with this package for details.  # Read the file COPYING coming with this package for details.
12    
13  """Unit Test f�r die Lohnsteuerberechnung in LST2005.  Benutzt die  """Unit Test f�r die Lohnsteuerberechnung in LST2006.  Benutzt die
14  Daten aus der Pr�ftabelle zum offiziellen Programmablaufplan zur  Daten aus der Pr�ftabelle zum offiziellen Programmablaufplan zur
15  maschinellen Jahreslohnste�rberechnung 2005."""  maschinellen Jahreslohnsteuerberechnung 2006."""
16    
17  # ACHTUNG: die Pr�ftabelle liefert nur Referenzwerte f�r die  # ACHTUNG: die Pr�ftabelle liefert nur Referenzwerte f�r die
18  # Berechnung der Lohnsteuer auf ein Jahr, andere Berechnung�eitr�ume  # Berechnung der Lohnsteuer auf ein Jahr, andere Berechnung�eitr�ume
19  # werden nicht ber�cksichtigt.  # werden nicht ber�cksichtigt.
20    
21  import unittest  import unittest
22  from LST2005 import *  from LST2006 import *
23    
24  class TestGetLohnsteuer(unittest.TestCase):  class TestGetLohnsteuer(unittest.TestCase):
25    
26      def SetUp(self):      def SetUp(self):
27          """Offizielle Pr�ftabelle und LStRechner2005 einrichten"""          """Offizielle Pr�ftabelle und LStRechner2006 einrichten"""
28          self.prueftabelle = {          self.prueftabelle = {
29              5000 : [     0.0,     0.0,     0.0,     0.0,   612.0,   750.0 ],              5000 : [     0.0,     0.0,     0.0,     0.0,   612.0,   750.0 ],
30              7500 : [     0.0,     0.0,     0.0,     0.0,   987.0,  1125.0 ],              7500 : [     0.0,     0.0,     0.0,     0.0,   987.0,  1125.0 ],
# Line 50  class TestGetLohnsteuer(unittest.TestCas Line 50  class TestGetLohnsteuer(unittest.TestCas
50              57500: [ 14733.0, 14183.0,  9254.0, 14733.0, 20652.0, 21038.0 ],              57500: [ 14733.0, 14183.0,  9254.0, 14733.0, 20652.0, 21038.0 ],
51              60000: [ 15763.0, 15213.0, 10000.0, 15763.0, 21702.0, 22088.0 ]              60000: [ 15763.0, 15213.0, 10000.0, 15763.0, 21702.0, 22088.0 ]
52              }              }
53          self.t = LStRechner2005()          self.t = LStRechner2006()
54          self.t.SetZeitraum(JAHR)          self.t.SetZeitraum(JAHR)
55    
56      def test_lohnsteuer(self):      def test_lohnsteuer(self):
57          """Testet GetLohnsteuer gegen die offizielle Pr�ftabelle"""                  """Testet GetLohnsteuer gegen die offizielle Pr�ftabelle"""
58          self.SetUp()          self.SetUp()
59          for lohn in self.prueftabelle.keys():          for lohn in self.prueftabelle.keys():
60              for stkl in range(1, 7):              for stkl in range(1, 7):
# Line 64  class TestGetLohnsteuer(unittest.TestCas Line 64  class TestGetLohnsteuer(unittest.TestCas
64                  self.assertEquals(self.t.GetLohnsteuer(),                  self.assertEquals(self.t.GetLohnsteuer(),
65                                    self.prueftabelle[lohn][stkl - 1])                                    self.prueftabelle[lohn][stkl - 1])
66    
67        def test_api_lohnaequi(self):
68            """Testet SetLohn GetLohn �quivalenz"""
69            self.SetUp()
70            for val in (0, 1, 1234.56, 2000.01, 2000.10, 2000.30, 2000.50, 3000,
71                        3000.01, 50000, 70000, 90000, 1000000.01, 100000000000.01):
72                self.t.SetLohn(val)
73                self.assertEquals(self.t.GetLohn(), val)
74    
75        def test_api_zeitraumaequi(self):
76            """Testet SetZeitraum GetZeitraum �quivalenz"""
77            self.SetUp()
78            for val in (JAHR, MONAT, WOCHE, TAG):
79                self.t.SetZeitraum(val)
80                self.assertEquals(self.t.GetZeitraum(), val)
81    
82        def test_api_steuerklasseaequi(self):
83            """Testet SetSteuerklasse GetSteuerklasse �quivalenz"""
84            self.SetUp()
85            for val in (I, II, III, IV, V, VI):
86                self.t.SetSteuerklasse(val)
87                self.assertEquals(self.t.GetSteuerklasse(), val)
88    
89        def test_api_kirchensteueraequi(self):
90            """Testet SetKirchensteuer GetKirchensteuer �quivalenz"""
91            self.SetUp()
92            for val in (0, 1, 5.5, 14.32, 8, 9, 50.50, 87.65, 100):
93                self.t.SetKirchensteuerProzent(val)
94                self.assertEquals(self.t.GetKirchensteuerProzent(), val)
95    
96    
97  if __name__ == "__main__":  if __name__ == "__main__":
98      unittest.main()      unittest.main()

Legend:
Removed from v.5  
changed lines
  Added in v.49

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26