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

Contents of /trunk/test_Lohnsteuer2007.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 66 - (show 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 # -*- coding: latin-1 -*-
2 # --------------------------------------------------------------------
3 # UnitTest für die Lohnsteuerberechnung in LST2005
4 # $Id$
5 # --------------------------------------------------------------------
6 #
7 # Copyright (c) 2005, 2006, 2007 by Intevation GmbH
8 # 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 """Unit Test für die Lohnsteuerberechnung in LST2007. Benutzt die
15 Daten aus der Prüftabelle zum offiziellen Programmablaufplan zur
16 maschinellen Jahreslohnsteuerberechnung 2007."""
17
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 from LST2007 import *
24
25 class TestGetLohnsteuer(unittest.TestCase):
26
27 def SetUp(self):
28 """Offizielle Prüftabelle und LStRechner2007 einrichten"""
29 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 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 }
54 self.t = LStRechner2007()
55 self.t.SetZeitraum(JAHR)
56
57 def test_lohnsteuer(self):
58 """Testet GetLohnsteuer gegen die offizielle Prüftabelle"""
59 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 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 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