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

Annotation of /trunk/test_Lohnsteuer2007.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 66 - (hide annotations)
Thu Jan 25 10:26:33 2007 UTC (18 years, 3 months ago) by wilde
File MIME type: text/x-python
File size: 4521 byte(s)
Added coding line to unit test.

1 wilde 66 # -*- coding: latin-1 -*-
2 wilde 5 # --------------------------------------------------------------------
3     # UnitTest für die Lohnsteuerberechnung in LST2005
4     # $Id$
5     # --------------------------------------------------------------------
6     #
7 wilde 65 # Copyright (c) 2005, 2006, 2007 by Intevation GmbH
8 wilde 5 # Authors:
9     # Sascha Wilde <[email protected]>
10     #
11     # This program is free software under the GPL (>=v2)
12     # Read the file COPYING coming with this package for details.
13    
14 wilde 65 """Unit Test für die Lohnsteuerberechnung in LST2007. Benutzt die
15 wilde 5 Daten aus der Prüftabelle zum offiziellen Programmablaufplan zur
16 wilde 65 maschinellen Jahreslohnsteuerberechnung 2007."""
17 wilde 5
18     # ACHTUNG: die Prüftabelle liefert nur Referenzwerte für die
19     # Berechnung der Lohnsteuer auf ein Jahr, andere Berechnungßeiträume
20     # werden nicht berücksichtigt.
21    
22     import unittest
23 wilde 65 from LST2007 import *
24 wilde 5
25     class TestGetLohnsteuer(unittest.TestCase):
26    
27     def SetUp(self):
28 wilde 65 """Offizielle Prüftabelle und LStRechner2007 einrichten"""
29 wilde 5 self.prueftabelle = {
30     5000 : [ 0.0, 0.0, 0.0, 0.0, 612.0, 750.0 ],
31     7500 : [ 0.0, 0.0, 0.0, 0.0, 987.0, 1125.0 ],
32     10000: [ 0.0, 0.0, 0.0, 0.0, 1362.0, 1739.0 ],
33     12500: [ 232.0, 18.0, 0.0, 232.0, 2403.0, 2789.0 ],
34     15000: [ 714.0, 444.0, 0.0, 714.0, 3400.0, 3722.0 ],
35     17500: [ 1362.0, 1043.0, 0.0, 1362.0, 4266.0, 4576.0 ],
36 wilde 65 20000: [ 2048.0, 1713.0, 0.0, 2048.0, 5126.0, 5458.0 ],
37     22500: [ 2691.0, 2342.0, 264.0, 2691.0, 6044.0, 6398.0 ],
38     25000: [ 3361.0, 2997.0, 628.0, 3361.0, 7020.0, 7394.0 ],
39     27500: [ 4059.0, 3680.0, 1104.0, 4059.0, 8052.0, 8438.0 ],
40     30000: [ 4783.0, 4390.0, 1634.0, 4783.0, 9102.0, 9488.0 ],
41     32500: [ 5534.0, 5127.0, 2240.0, 5534.0, 10152.0, 10538.0 ],
42     35000: [ 6313.0, 5890.0, 2952.0, 6313.0, 11202.0, 11588.0 ],
43     37500: [ 7118.0, 6682.0, 3684.0, 7118.0, 12252.0, 12638.0 ],
44     40000: [ 7951.0, 7499.0, 4334.0, 7951.0, 13302.0, 13688.0 ],
45     42500: [ 8810.0, 8344.0, 4976.0, 8810.0, 14352.0, 14738.0 ],
46     45000: [ 9697.0, 9216.0, 5632.0, 9697.0, 15402.0, 15788.0 ],
47     47500: [ 10610.0, 10115.0, 6300.0, 10610.0, 16452.0, 16838.0 ],
48     50000: [ 11551.0, 11041.0, 6982.0, 11551.0, 17502.0, 17888.0 ],
49     52500: [ 12518.0, 11994.0, 7678.0, 12518.0, 18552.0, 18938.0 ],
50     55000: [ 13513.0, 12974.0, 8388.0, 13513.0, 19602.0, 19988.0 ],
51     57500: [ 14531.0, 13981.0, 9110.0, 14531.0, 20652.0, 21038.0 ],
52     60000: [ 15552.0, 15002.0, 9846.0, 15552.0, 21702.0, 22088.0 ]
53 wilde 5 }
54 wilde 65 self.t = LStRechner2007()
55 wilde 5 self.t.SetZeitraum(JAHR)
56    
57     def test_lohnsteuer(self):
58 wilde 49 """Testet GetLohnsteuer gegen die offizielle Prüftabelle"""
59 wilde 5 self.SetUp()
60     for lohn in self.prueftabelle.keys():
61     for stkl in range(1, 7):
62     self.t.SetLohn(lohn)
63     self.t.SetSteuerklasse(stkl)
64     self.t.Calc()
65     self.assertEquals(self.t.GetLohnsteuer(),
66     self.prueftabelle[lohn][stkl - 1])
67    
68 wilde 27 def test_api_lohnaequi(self):
69     """Testet SetLohn GetLohn Äquivalenz"""
70     self.SetUp()
71     for val in (0, 1, 1234.56, 2000.01, 2000.10, 2000.30, 2000.50, 3000,
72     3000.01, 50000, 70000, 90000, 1000000.01, 100000000000.01):
73     self.t.SetLohn(val)
74     self.assertEquals(self.t.GetLohn(), val)
75    
76     def test_api_zeitraumaequi(self):
77     """Testet SetZeitraum GetZeitraum Äquivalenz"""
78     self.SetUp()
79     for val in (JAHR, MONAT, WOCHE, TAG):
80     self.t.SetZeitraum(val)
81     self.assertEquals(self.t.GetZeitraum(), val)
82    
83     def test_api_steuerklasseaequi(self):
84     """Testet SetSteuerklasse GetSteuerklasse Äquivalenz"""
85     self.SetUp()
86     for val in (I, II, III, IV, V, VI):
87     self.t.SetSteuerklasse(val)
88     self.assertEquals(self.t.GetSteuerklasse(), val)
89    
90     def test_api_kirchensteueraequi(self):
91     """Testet SetKirchensteuer GetKirchensteuer Äquivalenz"""
92     self.SetUp()
93     for val in (0, 1, 5.5, 14.32, 8, 9, 50.50, 87.65, 100):
94     self.t.SetKirchensteuerProzent(val)
95     self.assertEquals(self.t.GetKirchensteuerProzent(), val)
96    
97    
98 wilde 5 if __name__ == "__main__":
99     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