/[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 50 by wilde, Mon Jan 23 15:08:28 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 33  class TestGetLohnsteuer(unittest.TestCas Line 33  class TestGetLohnsteuer(unittest.TestCas
33              15000: [   714.0,   444.0,     0.0,   714.0,  3400.0,  3722.0 ],              15000: [   714.0,   444.0,     0.0,   714.0,  3400.0,  3722.0 ],
34              17500: [  1362.0,  1043.0,     0.0,  1362.0,  4266.0,  4576.0 ],              17500: [  1362.0,  1043.0,     0.0,  1362.0,  4266.0,  4576.0 ],
35              20000: [  2063.0,  1727.0,     0.0,  2063.0,  5126.0,  5458.0 ],              20000: [  2063.0,  1727.0,     0.0,  2063.0,  5126.0,  5458.0 ],
36              22500: [  2725.0,  2375.0,   264.0,  2725.0,  6044.0,  6398.0 ],              22500: [  2718.0,  2368.0,   264.0,  2718.0,  6044.0,  6398.0 ],
37              25000: [  3417.0,  3051.0,   628.0,  3417.0,  7020.0,  7394.0 ],              25000: [  3393.0,  3028.0,   628.0,  3393.0,  7020.0,  7394.0 ],
38              27500: [  4126.0,  3746.0,  1104.0,  4126.0,  8052.0,  8438.0 ],              27500: [  4095.0,  3715.0,  1104.0,  4095.0,  8052.0,  8438.0 ],
39              30000: [  4860.0,  4465.0,  1634.0,  4860.0,  9102.0,  9488.0 ],              30000: [  4824.0,  4430.0,  1634.0,  4824.0,  9102.0,  9488.0 ],
40              32500: [  5620.0,  5211.0,  2240.0,  5620.0, 10152.0, 10538.0 ],              32500: [  5580.0,  5172.0,  2240.0,  5580.0, 10152.0, 10538.0 ],
41              35000: [  6408.0,  5984.0,  2952.0,  6408.0, 11202.0, 11588.0 ],              35000: [  6364.0,  5941.0,  2952.0,  6364.0, 11202.0, 11588.0 ],
42              37500: [  7224.0,  6785.0,  3684.0,  7224.0, 12252.0, 12638.0 ],              37500: [  7175.0,  6737.0,  3684.0,  7175.0, 12252.0, 12638.0 ],
43              40000: [  8068.0,  7614.0,  4364.0,  8068.0, 13302.0, 13688.0 ],              40000: [  8013.0,  7561.0,  4364.0,  8013.0, 13302.0, 13688.0 ],
44              42500: [  8938.0,  8470.0,  5026.0,  8938.0, 14352.0, 14738.0 ],              42500: [  8878.0,  8411.0,  5026.0,  8878.0, 14352.0, 14738.0 ],
45              45000: [  9836.0,  9354.0,  5700.0,  9836.0, 15402.0, 15788.0 ],              45000: [  9771.0,  9290.0,  5686.0,  9771.0, 15402.0, 15788.0 ],
46              47500: [ 10762.0, 10265.0,  6390.0, 10762.0, 16452.0, 16838.0 ],              47500: [ 10691.0, 10195.0,  6360.0, 10691.0, 16452.0, 16838.0 ],
47              50000: [ 11715.0, 11203.0,  7094.0, 11715.0, 17502.0, 17888.0 ],              50000: [ 11639.0, 11128.0,  7046.0, 11639.0, 17502.0, 17888.0 ],
48              52500: [ 12696.0, 12169.0,  7806.0, 12696.0, 18552.0, 18938.0 ],              52500: [ 12613.0, 12087.0,  7746.0, 12613.0, 18552.0, 18938.0 ],
49              55000: [ 13704.0, 13163.0,  8524.0, 13704.0, 19602.0, 19988.0 ],              55000: [ 13615.0, 13075.0,  8460.0, 13615.0, 19602.0, 19988.0 ],
50              57500: [ 14733.0, 14183.0,  9254.0, 14733.0, 20652.0, 21038.0 ],              57500: [ 14639.0, 14089.0,  9188.0, 14639.0, 20652.0, 21038.0 ],
51              60000: [ 15763.0, 15213.0, 10000.0, 15763.0, 21702.0, 22088.0 ]              60000: [ 15664.0, 15115.0,  9928.0, 15664.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.50

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26