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

Annotation of /trunk/test_Lohnsteuer2006.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 60 - (hide annotations)
Fri Mar 24 11:28:43 2006 UTC (19 years, 1 month ago) by wilde
File MIME type: text/x-python
File size: 4488 byte(s)
Moved everything in the new subdirectory "trunk" to conform to
repository standard layout.

1 wilde 5 # --------------------------------------------------------------------
2     # UnitTest für die Lohnsteuerberechnung in LST2005
3     # $Id$
4     # --------------------------------------------------------------------
5     #
6 wilde 49 # Copyright (c) 2005,2006 by Intevation GmbH
7 wilde 5 # Authors:
8     # Sascha Wilde <[email protected]>
9     #
10     # This program is free software under the GPL (>=v2)
11     # Read the file COPYING coming with this package for details.
12    
13 wilde 49 """Unit Test für die Lohnsteuerberechnung in LST2006. Benutzt die
14 wilde 5 Daten aus der Prüftabelle zum offiziellen Programmablaufplan zur
15 wilde 49 maschinellen Jahreslohnsteuerberechnung 2006."""
16 wilde 5
17     # ACHTUNG: die Prüftabelle liefert nur Referenzwerte für die
18     # Berechnung der Lohnsteuer auf ein Jahr, andere Berechnungßeiträume
19     # werden nicht berücksichtigt.
20    
21     import unittest
22 wilde 49 from LST2006 import *
23 wilde 5
24     class TestGetLohnsteuer(unittest.TestCase):
25    
26     def SetUp(self):
27 wilde 49 """Offizielle Prüftabelle und LStRechner2006 einrichten"""
28 wilde 5 self.prueftabelle = {
29     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 ],
31     10000: [ 0.0, 0.0, 0.0, 0.0, 1362.0, 1739.0 ],
32     12500: [ 232.0, 18.0, 0.0, 232.0, 2403.0, 2789.0 ],
33     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 ],
35     20000: [ 2063.0, 1727.0, 0.0, 2063.0, 5126.0, 5458.0 ],
36 wilde 50 22500: [ 2718.0, 2368.0, 264.0, 2718.0, 6044.0, 6398.0 ],
37     25000: [ 3393.0, 3028.0, 628.0, 3393.0, 7020.0, 7394.0 ],
38     27500: [ 4095.0, 3715.0, 1104.0, 4095.0, 8052.0, 8438.0 ],
39     30000: [ 4824.0, 4430.0, 1634.0, 4824.0, 9102.0, 9488.0 ],
40     32500: [ 5580.0, 5172.0, 2240.0, 5580.0, 10152.0, 10538.0 ],
41     35000: [ 6364.0, 5941.0, 2952.0, 6364.0, 11202.0, 11588.0 ],
42     37500: [ 7175.0, 6737.0, 3684.0, 7175.0, 12252.0, 12638.0 ],
43     40000: [ 8013.0, 7561.0, 4364.0, 8013.0, 13302.0, 13688.0 ],
44     42500: [ 8878.0, 8411.0, 5026.0, 8878.0, 14352.0, 14738.0 ],
45     45000: [ 9771.0, 9290.0, 5686.0, 9771.0, 15402.0, 15788.0 ],
46     47500: [ 10691.0, 10195.0, 6360.0, 10691.0, 16452.0, 16838.0 ],
47     50000: [ 11639.0, 11128.0, 7046.0, 11639.0, 17502.0, 17888.0 ],
48     52500: [ 12613.0, 12087.0, 7746.0, 12613.0, 18552.0, 18938.0 ],
49     55000: [ 13615.0, 13075.0, 8460.0, 13615.0, 19602.0, 19988.0 ],
50     57500: [ 14639.0, 14089.0, 9188.0, 14639.0, 20652.0, 21038.0 ],
51     60000: [ 15664.0, 15115.0, 9928.0, 15664.0, 21702.0, 22088.0 ]
52 wilde 5 }
53 wilde 49 self.t = LStRechner2006()
54 wilde 5 self.t.SetZeitraum(JAHR)
55    
56     def test_lohnsteuer(self):
57 wilde 49 """Testet GetLohnsteuer gegen die offizielle Prüftabelle"""
58 wilde 5 self.SetUp()
59     for lohn in self.prueftabelle.keys():
60     for stkl in range(1, 7):
61     self.t.SetLohn(lohn)
62     self.t.SetSteuerklasse(stkl)
63     self.t.Calc()
64     self.assertEquals(self.t.GetLohnsteuer(),
65     self.prueftabelle[lohn][stkl - 1])
66    
67 wilde 27 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 wilde 5 if __name__ == "__main__":
98     unittest.main()

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26