1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.fhw.cabaweb.junittests;
21
22 import java.util.ArrayList;
23 import junit.framework.TestCase;
24
25 import org.fhw.cabaweb.math.Produktion;
26 import org.fhw.cabaweb.data.dataobjects.Qualitaetssicherung;
27 import org.fhw.cabaweb.data.dataobjects.Verwaltungskosten;
28
29 /***
30 * Klasse für den Test der Produktionsfunktionen
31 *
32 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
33 * @version Version 1.0 26.03-05.04.2004
34 */
35 public class ProduktionTest extends TestCase
36 {
37 private ArrayList qualitaetssicherungTabelle;
38 private ArrayList verwaltungTabelle;
39
40 public static void main(String[] args)
41 {
42 junit.textui.TestRunner.run(ProduktionTest.class);
43 }
44
45
46
47
48 protected void setUp() throws Exception
49 {
50 super.setUp();
51
52 qualitaetssicherungTabelle = new ArrayList();
53 verwaltungTabelle = new ArrayList();
54
55 qualitaetssicherungTabelle.add(0, new Qualitaetssicherung(0.00, 30.0, 7.5));
56 qualitaetssicherungTabelle.add(1, new Qualitaetssicherung(0.05, 20.0, 5.0));
57 qualitaetssicherungTabelle.add(2, new Qualitaetssicherung(0.10, 12.0, 3.0));
58 qualitaetssicherungTabelle.add(3, new Qualitaetssicherung(0.15, 8.0, 2.0));
59 qualitaetssicherungTabelle.add(4, new Qualitaetssicherung(0.20, 5.0, 1.25));
60 qualitaetssicherungTabelle.add(5, new Qualitaetssicherung(0.25, 4.5, 1.13));
61 qualitaetssicherungTabelle.add(6, new Qualitaetssicherung(0.30, 4.0, 1.0));
62 qualitaetssicherungTabelle.add(7, new Qualitaetssicherung(0.35, 3.5, 0.88));
63 qualitaetssicherungTabelle.add(8, new Qualitaetssicherung(0.40, 3.0, 0.75));
64 qualitaetssicherungTabelle.add(9, new Qualitaetssicherung(0.45, 3.0, 0.75));
65
66 verwaltungTabelle.add(0, new Verwaltungskosten(100.0, 500000.0));
67 verwaltungTabelle.add(1, new Verwaltungskosten(150.0, 550000.0));
68 verwaltungTabelle.add(2, new Verwaltungskosten(200.0, 600000.0));
69 verwaltungTabelle.add(3, new Verwaltungskosten(250.0, 700000.0));
70 verwaltungTabelle.add(4, new Verwaltungskosten(300.0, 800000.0));
71 verwaltungTabelle.add(5, new Verwaltungskosten(350.0, 1100000.0));
72 verwaltungTabelle.add(5, new Verwaltungskosten(400.0, 1500000.0));
73 }
74
75 public void testQualitaetssicherungOptimal()
76 {
77 assertEquals(0.0, Produktion.qualitaetssicherungOptimal(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, qualitaetssicherungTabelle), 0.0000000001);
78 assertEquals(151668.8584818272, Produktion.qualitaetssicherungOptimal(500000.0, 153.114566139089, 51102.9411764706, 7.0, 10.0, 1.0, 2.0, 1.0, 1.013, 0.5, 1.3, qualitaetssicherungTabelle), 0.0000000001);
79 }
80
81 public void testQualitaetssicherungNormal()
82 {
83 assertEquals(0.0, Produktion.qualitaetssicherungNormal(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, qualitaetssicherungTabelle), 0.0000000001);
84 assertEquals(279489.4978532532, Produktion.qualitaetssicherungNormal(500000.0, 153.114566139089, 51102.9411764706, 7.0, 10.0, 1.0, 2.0, 1.0, 1.013, 0.5, 1.3, 0.02, qualitaetssicherungTabelle), 0.0000000001);
85 assertEquals(312837.8378378374, Produktion.qualitaetssicherungNormal(500000.0, 153.114566139089, 51102.9411764706, 7.0, 10.0, 1.0, 2.0, 1.0, 1.013, 0.5, 1.3, 0.00, qualitaetssicherungTabelle), 0.0000000001);
86 }
87
88 public void testHerstellKostenBewertung()
89 {
90 assertEquals(0.0, Produktion.herstellKostenBewertung(0.0, 0.0, 0.0, 0.0), 0.0000000001);
91 assertEquals(0.5, Produktion.herstellKostenBewertung(50000.0, 50000.0, 100000.0, 400000.0), 0.0000000001);
92 assertEquals(1.0, Produktion.herstellKostenBewertung(100000.0, 100000.0, 200000.0, 400000.0), 0.0000000001);
93 assertEquals(2.0, Produktion.herstellKostenBewertung(200000.0, 200000.0, 400000.0, 400000.0), 0.0000000001);
94 assertEquals(400000.0, Produktion.herstellKostenBewertung(100000.0, 100000.0, 200000.0, 0.0), 0.0000000001);
95 }
96
97 public void testDefizitUndLagerQuotient()
98 {
99 assertEquals(0.0, Produktion.defizitUndLagerQuotient(0.0, 0.0, 0.0, 0.0), 0.0000000001);
100 assertEquals(-10.0, Produktion.defizitUndLagerQuotient(400000.0, 440000.0, 40000.0, 10000.0), 0.0000000001);
101 assertEquals(12.72727273, Produktion.defizitUndLagerQuotient(440000.0, 400000.0, 0.0, 100000.0), 0.0000000001);
102 }
103
104 public void testZinssatzOptimal()
105 {
106 assertEquals(0.0, Produktion.zinssatzOptimal(0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
107 assertEquals(200.0, Produktion.zinssatzOptimal(100000.0, 12500.0, 12500.0, 12500.0, 12500.0), 0.0000000001);
108 assertEquals(20.0, Produktion.zinssatzOptimal(100000.0, 125000.0, 125000.0, 125000.0, 125000.0), 0.0000000001);
109 assertEquals(2.0, Produktion.zinssatzOptimal(100000.0, 1250000.0, 1250000.0, 1250000.0, 1250000.0), 0.0000000001);
110 assertEquals(0.0, Produktion.zinssatzOptimal(100000.0, -1250000.0, -1250000.0, -1250000.0, -1250000.0), 0.0000000001);
111 }
112
113 public void testLiquiditaetsaenderungBeiGeplantemAbsatz()
114 {
115 assertEquals(0.0, Produktion.liquiditaetsaenderungBeiGeplantemAbsatz(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
116 assertEquals(1000000.0, Produktion.liquiditaetsaenderungBeiGeplantemAbsatz(100000.0, 1000000.0, 500000.0, 500000.0, 6.65, 0.50, 10.0, 1.0), 0.0000000001);
117 assertEquals(1000000.0, Produktion.liquiditaetsaenderungBeiGeplantemAbsatz(0.0, 1000000.0, 500000.0, 500000.0, 6.65, 0.50, 10.0, 1.0), 0.0000000001);
118 assertEquals(713750.0, Produktion.liquiditaetsaenderungBeiGeplantemAbsatz(100000.0, 1000000.0, 500000.0, 450000.0, 6.65, 0.50, 10.0, 1.0), 0.0000000001);
119 assertEquals(642500.0, Produktion.liquiditaetsaenderungBeiGeplantemAbsatz(0.0, 1000000.0, 500000.0, 450000.0, 6.65, 0.50, 10.0, 1.0), 0.0000000001);
120 }
121
122 public void testFehleranteil()
123 {
124 assertEquals(30.0, Produktion.fehleranteil(0.0, qualitaetssicherungTabelle), 0.0000000001);
125 assertEquals(20.0, Produktion.fehleranteil(0.05, qualitaetssicherungTabelle), 0.0000000001);
126 assertEquals(5.0, Produktion.fehleranteil(0.20, qualitaetssicherungTabelle), 0.0000000001);
127 assertEquals(3.0, Produktion.fehleranteil(0.45, qualitaetssicherungTabelle), 0.0000000001);
128 }
129
130 public void testAbschreibungskosten()
131 {
132 assertEquals(0.0, Produktion.abschreibungskosten(0.0, 0.0), 0.0000000001);
133 assertEquals(10000.0, Produktion.abschreibungskosten(10000.0, 1.0), 0.0000000001);
134 assertEquals(5000.0, Produktion.abschreibungskosten(10000.0, 0.5), 0.0000000001);
135 assertEquals(20000.0, Produktion.abschreibungskosten(10000.0, 2.0), 0.0000000001);
136 }
137
138 public void testAnlagenProjektierungsKosten()
139 {
140 assertEquals(0.0, Produktion.anlagenProjektierungsKosten(0.0, 0.0), 0.0000000001);
141 assertEquals(10000.0, Produktion.anlagenProjektierungsKosten(10000.0, 1.0), 0.0000000001);
142 assertEquals(5000.0, Produktion.anlagenProjektierungsKosten(10000.0, 0.5), 0.0000000001);
143 assertEquals(20000.0, Produktion.anlagenProjektierungsKosten(10000.0, 2.0), 0.0000000001);
144 }
145
146 public void testRohstoffVerbrauchsKosten()
147 {
148 assertEquals(0.0, Produktion.rohstoffVerbrauchsKosten(0.0, 0.0, 0.0), 0.000000001);
149 assertEquals(400000.0, Produktion.rohstoffVerbrauchsKosten(400000.0, 1.0, 1.0), 0.000000001);
150 assertEquals(440000.0, Produktion.rohstoffVerbrauchsKosten(400000.0, 1.0, 1.1), 0.000000001);
151 assertEquals(484000.0, Produktion.rohstoffVerbrauchsKosten(400000.0, 1.1, 1.1), 0.000000001);
152 }
153
154 public void testRohstoffLagerKosten()
155 {
156 assertEquals(0.0, Produktion.rohstoffLagerKosten(0.0, 0.0), 0.0000000001);
157 assertEquals(10000.0, Produktion.rohstoffLagerKosten(10000.0, 1.0), 0.0000000001);
158 assertEquals(5000.0, Produktion.rohstoffLagerKosten(10000.0, 0.5), 0.0000000001);
159 assertEquals(20000.0, Produktion.rohstoffLagerKosten(10000.0, 2.0), 0.0000000001);
160 }
161
162 public void testRohstoffBestellungskosten()
163 {
164 assertEquals(0.0, Produktion.rohstoffBestellungskosten(0.0, 0.0, 0.0), 0.0000000001);
165 assertEquals(20000.0, Produktion.rohstoffBestellungskosten(10000.0, 10000.0, 1.0), 0.0000000001);
166 assertEquals(226000.0, Produktion.rohstoffBestellungskosten(100000.0, 100000.0, 1.13), 0.0000000001);
167 }
168
169 public void testFertigungsZeitGutesStueck()
170 {
171 assertEquals(0.0, Produktion.fertigungsZeitGutesStueck(0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
172 assertEquals(7.35, Produktion.fertigungsZeitGutesStueck(400000.0, 40000.0, 400000.0, 7.0, 0.5), 0.0000000001);
173 assertEquals(2940000.0, Produktion.fertigungsZeitGutesStueck(400000.0, 40000.0, -400000.0, 7.0, 0.5), 0.0000000001);
174 }
175
176 public void testFertigungszeitGesamt()
177 {
178 assertEquals(0.0, Produktion.fertigungszeitGesamt(0.0, 0.0, 0.0, 0.0), 0.0000000001);
179 assertEquals(49000.0, Produktion.fertigungszeitGesamt(400000.0, 40000.0, 7.0, 0.5), 0.0000000001);
180 assertEquals(50166.6666666667, Produktion.fertigungszeitGesamt(400000.0, 40000.0, 7.0, 0.75), 0.0000000001);
181 }
182
183 public void testKapazitaetsauslastung()
184 {
185 assertEquals(0.0, Produktion.kapazitaetsauslastung(0.0, 0.0), 0.0000000001);
186 assertEquals(0.5, Produktion.kapazitaetsauslastung(25000.0, 50000.0), 0.0000000001);
187 assertEquals(1.0, Produktion.kapazitaetsauslastung(50000.0, 50000.0), 0.0000000001);
188 assertEquals(1.5, Produktion.kapazitaetsauslastung(75000.0, 50000.0), 0.0000000001);
189 assertEquals(2.0, Produktion.kapazitaetsauslastung(100000.0, 50000.0), 0.0000000001);
190 assertEquals(1.99998, Produktion.kapazitaetsauslastung(99999.0, 50000.0), 0.0000000001);
191 }
192
193 public void testKapazitaetsbestandFolgequartal()
194 {
195 assertEquals(0.0, Produktion.kapazitaetsbestandFolgequartal(0.0, 0.0, 0.0, 0.0), 0.0000000001);
196 assertEquals(50020.0, Produktion.kapazitaetsbestandFolgequartal(50000.0, 1000000.0, 1000000.0, 100000.0), 0.0000000001);
197 assertEquals(2050000.0, Produktion.kapazitaetsbestandFolgequartal(50000.0, 1000000.0, 1000000.0, -100000.0), 0.0000000001);
198 }
199
200 public void testAusschusskosten()
201 {
202 assertEquals(0.0, Produktion.ausschusskosten(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
203 assertEquals(128378.37837825, Produktion.ausschusskosten(540540.540540, 0.075, 7.0, 10.0, 1.0, 2.0, 1.0, 153.114566), 0.0000000001);
204 assertEquals(152027.027026875, Produktion.ausschusskosten(540540.540540, 0.075, 7.0, 10.0, 1.0, 2.0, 1.0, 113.114566), 0.0000000001);
205 }
206
207 public void testFehlerkosten()
208 {
209 assertEquals(0.0, Produktion.fehlerkosten(0.0, 0.0), 0.0000000001);
210 assertEquals(200000.0, Produktion.fehlerkosten(100000.0, 100000.0), 0.0000000001);
211 assertEquals(100000.0, Produktion.fehlerkosten(100000.0, 0.0), 0.0000000001);
212 assertEquals(100000.0, Produktion.fehlerkosten(0.0, 100000.0), 0.0000000001);
213 }
214
215 public void testQualitaetskosten()
216 {
217 assertEquals(0.0, Produktion.qualitaetskosten(0.0, 0.0, 0.0, 0.0), 0.0000000001);
218 assertEquals(130000.0, Produktion.qualitaetskosten(400000.0, 1.0, 0.2, 50000.0), 0.0000000001);
219 assertEquals(131040.0, Produktion.qualitaetskosten(400000.0, 1.013, 0.2, 50000.0), 0.0000000001);
220 }
221
222 public void testNacharbeitskosten()
223 {
224 assertEquals(0.0, Produktion.nacharbeitskosten(0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
225 assertEquals(16406.25, Produktion.nacharbeitskosten(7.0, 10.0, 0.25, 0.5, 400000.0, 0.075), 0.0000000001);
226 }
227
228 public void testAusschuss()
229 {
230 assertEquals(0.0, Produktion.ausschuss(0.0), 0.0000000001);
231 assertEquals(0.0125, Produktion.ausschuss(0.05), 0.0000000001);
232 assertEquals(0.025, Produktion.ausschuss(0.10), 0.0000000001);
233 assertEquals(0.0075, Produktion.ausschuss(0.03), 0.0000000001);
234 }
235
236 public void testQualtaetssicherungReal()
237 {
238 assertEquals(0.0, Produktion.qualtaetssicherungReal(0.0, 0.0), 0.0000000001);
239 assertEquals(0.20, Produktion.qualtaetssicherungReal(0.20, 1.0), 0.0000000001);
240 assertEquals(0.1974333662, Produktion.qualtaetssicherungReal(0.20, 1.013), 0.0000000001);
241 assertEquals(0.1951219512, Produktion.qualtaetssicherungReal(0.20, 1.025), 0.0000000001);
242 }
243
244 public void testProduktionsmengeNominal()
245 {
246 assertEquals(0.0, Produktion.produktionsmengeNominal(0.0, 0.0), 0.0000000001);
247 assertEquals(444444.4444444444, Produktion.produktionsmengeNominal(400000.0, 10.0), 0.0000000001);
248 assertEquals(421052.6315789474, Produktion.produktionsmengeNominal(400000.0, 5.0), 0.0000000001);
249 }
250
251 public void testProduktionsmengeNacharbeitbar()
252 {
253 assertEquals(0.0, Produktion.produktionsmengeNacharbeitbar(0.0, 0.0), 0.0000000001);
254 assertEquals(15000.0, Produktion.produktionsmengeNacharbeitbar(400000.0, 5.0), 0.0000000001);
255 assertEquals(7500.0, Produktion.produktionsmengeNacharbeitbar(400000.0, 2.5), 0.0000000001);
256 }
257
258 public void testProduktionsmengeAusschuss()
259 {
260 assertEquals(0.0, Produktion.produktionsmengeAusschuss(0.0, 0.0), 0.0000000001);
261 assertEquals(20000.0, Produktion.produktionsmengeAusschuss(400000.0, 5.0), 0.0000000001);
262 assertEquals(10000.0, Produktion.produktionsmengeAusschuss(400000.0, 2.5), 0.0000000001);
263 }
264
265 public void testProduktionsmengeFehlerhaft()
266 {
267 assertEquals(0.0, Produktion.produktionsmengeFehlerhaft(0.0, 0.0), 0.0000000001);
268 assertEquals(20000.0, Produktion.produktionsmengeFehlerhaft(400000.0, 5.0), 0.0000000001);
269 assertEquals(10000.0, Produktion.produktionsmengeFehlerhaft(400000.0, 2.5), 0.0000000001);
270 }
271
272 public void testAufarbeitungskosten()
273 {
274 assertEquals(0.0, Produktion.aufarbeitungskosten(0.0, 0), 0.0000000001);
275 assertEquals(0.0, Produktion.aufarbeitungskosten(45000.0, 0), 0.0000000001);
276 assertEquals(33750.0, Produktion.aufarbeitungskosten(45000.0, 1), 0.0000000001);
277 assertEquals(67500.0, Produktion.aufarbeitungskosten(45000.0, 2), 0.0000000001);
278 }
279
280 public void testQualitaetssicherungGesamt()
281 {
282 assertEquals(0.0, Produktion.qualitaetssicherungGesamt(0.0, 0.0), 0.0000000001);
283 assertEquals(80000.0, Produktion.qualitaetssicherungGesamt(400000.0, 0.20), 0.0000000001);
284 assertEquals(60000.0, Produktion.qualitaetssicherungGesamt(400000.0, 0.15), 0.0000000001);
285 assertEquals(40000.0, Produktion.qualitaetssicherungGesamt(400000.0, 0.10), 0.0000000001);
286 }
287
288 public void testFertigungsLohnKosten()
289 {
290 assertEquals(0.0, Produktion.fertigungsLohnKosten(0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
291 assertEquals(479791.6666666666, Produktion.fertigungsLohnKosten(400000.0, 7.0, 10.0, 0.5, 0.075), 0.0000000001);
292 }
293
294 public void testUeberstundenzuschlaege()
295 {
296 assertEquals(0.0, Produktion.ueberstundenzuschlaege(0.0, 0.0, 0.0, 0.0), 0.0000000001);
297 assertEquals(0.0, Produktion.ueberstundenzuschlaege(99.0, 56000.0, 56000.0, 10.0), 0.0000000001);
298 assertEquals(5000.0, Produktion.ueberstundenzuschlaege(101.0, 57000.0, 56000.0, 10.0), 0.0000000001);
299 assertEquals(220000.0, Produktion.ueberstundenzuschlaege(149.0, 100000.0, 56000.0, 10.0), 0.0000000001);
300 assertEquals(0.0, Produktion.ueberstundenzuschlaege(151.0, 103000.0, 56000.0, 10.0), 0.0000000001);
301 assertEquals(215000.0, Produktion.ueberstundenzuschlaege(201.0, 155000.0, 56000.0, 10.0), 0.0000000001);
302 assertEquals(0.0, Produktion.ueberstundenzuschlaege(251.0, 210000.0, 56000.0, 10.0), 0.0000000001);
303 }
304
305 public void testLohnindex()
306 {
307 assertEquals(0.0, Produktion.lohnindex(0.0, 0.0), 0.0000000001);
308 assertEquals(1.1, Produktion.lohnindex(1.0, 10.0), 0.0000000001);
309 assertEquals(1.1, Produktion.lohnindex(1.10, 0.0), 0.0000000001);
310 assertEquals(1.21, Produktion.lohnindex(1.10, 10.0), 0.0000000001);
311 }
312
313 public void testLohnkostenNominal()
314 {
315 assertEquals(0.0, Produktion.lohnkostenNominal(0.0, 0.0), 0.0000000001);
316 assertEquals(10.0, Produktion.lohnkostenNominal(10.0, 1.0), 0.0000000001);
317 assertEquals(10.13, Produktion.lohnkostenNominal(10.0, 1.013), 0.0000000001);
318 }
319
320 public void testVerwaltung()
321 {
322 assertEquals(0.0, Produktion.verwaltung(0.0, 0.0, verwaltungTabelle), 0.0000000001);
323 assertEquals(500000.0, Produktion.verwaltung(0.0, 1.0, verwaltungTabelle), 0.0000000001);
324 assertEquals(500000.0, Produktion.verwaltung(99.0, 1.0, verwaltungTabelle), 0.0000000001);
325 assertEquals(550000.0, Produktion.verwaltung(100.0, 1.0, verwaltungTabelle), 0.0000000001);
326 assertEquals(550000.0, Produktion.verwaltung(149.0, 1.0, verwaltungTabelle), 0.0000000001);
327 assertEquals(600000.0, Produktion.verwaltung(151.0, 1.0, verwaltungTabelle), 0.0000000001);
328 }
329
330 public void testSchichtwechsel()
331 {
332 assertEquals(0.0, Produktion.schichtwechsel(0.0, 0.0, 0.0, 0.0), 0.0000000001);
333 assertEquals(0.0, Produktion.schichtwechsel(50000.0, 99.0, 99.0, 1.0), 0.0000000001);
334 assertEquals(0.0, Produktion.schichtwechsel(50000.0, 99.0, 100.0, 1.0), 0.0000000001);
335 assertEquals(0.0, Produktion.schichtwechsel(50000.0, 99.0, 101.0, 1.0), 0.0000000001);
336 assertEquals(50000.0, Produktion.schichtwechsel(50000.0, 99.0, 151.0, 1.0), 0.0000000001);
337 assertEquals(50000.0, Produktion.schichtwechsel(50000.0, 99.0, 201.0, 1.0), 0.0000000001);
338 }
339
340 public void testSchicht()
341 {
342 assertEquals(1.0, Produktion.schicht(0.0), 0.0000000001);
343 assertEquals(1.0, Produktion.schicht(33.0), 0.0000000001);
344 assertEquals(1.0, Produktion.schicht(49.0), 0.0000000001);
345 assertEquals(1.0, Produktion.schicht(99.0), 0.0000000001);
346 assertEquals(1.0, Produktion.schicht(101.0), 0.0000000001);
347 assertEquals(1.0, Produktion.schicht(125.0), 0.0000000001);
348 assertEquals(1.0, Produktion.schicht(149.99), 0.0000000001);
349 assertEquals(2.0, Produktion.schicht(150.01), 0.0000000001);
350 assertEquals(2.0, Produktion.schicht(175.00), 0.0000000001);
351 assertEquals(2.0, Produktion.schicht(200.00), 0.0000000001);
352 assertEquals(2.0, Produktion.schicht(225.00), 0.0000000001);
353 assertEquals(2.0, Produktion.schicht(249.99), 0.0000000001);
354 assertEquals(3.0, Produktion.schicht(250.01), 0.0000000001);
355 assertEquals(3.0, Produktion.schicht(349.99), 0.0000000001);
356 assertEquals(4.0, Produktion.schicht(350.01), 0.0000000001);
357 assertEquals(4.0, Produktion.schicht(449.99), 0.0000000001);
358 assertEquals(5.0, Produktion.schicht(450.01), 0.0000000001);
359 assertEquals(5.0, Produktion.schicht(549.99), 0.0000000001);
360 assertEquals(6.0, Produktion.schicht(550.01), 0.0000000001);
361 }
362
363 public void testRohstoffverbrauch()
364 {
365 assertEquals(0.0, Produktion.rohstoffverbrauch(0.0, 0.0), 0.0000000001);
366 assertEquals(400000.0, Produktion.rohstoffverbrauch(400000.0, 1.0), 0.0000000001);
367 assertEquals(480000.0, Produktion.rohstoffverbrauch(400000.0, 1.2), 0.0000000001);
368 }
369
370 public void testRohstoffLagerBestand()
371 {
372 assertEquals(0.0, Produktion.rohstoffLagerBestand(0.0, 0.0, 0.0), 0.0000000001);
373 assertEquals(1100000.0, Produktion.rohstoffLagerBestand(1000000.0, 400000.0, 500000.0), 0.0000000001);
374 assertEquals(0.0, Produktion.rohstoffLagerBestand(1000000.0, 1000000.0, 0.0), 0.0000000001);
375 assertEquals(100000.0, Produktion.rohstoffLagerBestand(1000000.0, 900000.0, 0.0), 0.0000000001);
376 }
377
378 public void testRohstoffpreis()
379 {
380 assertEquals(0.0, Produktion.rohstoffpreis(0.0, 0.0), 0.0000000001);
381 assertEquals(1.0, Produktion.rohstoffpreis(1.0, 1.0), 0.0000000001);
382 assertEquals(1.013, Produktion.rohstoffpreis(1.0, 1.013), 0.0000000001);
383 assertEquals(1.06365, Produktion.rohstoffpreis(1.05, 1.013), 0.0000000001);
384 }
385
386 public void testRohstoffwert()
387 {
388 assertEquals(0.0, Produktion.rohstoffwert(0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
389 assertEquals(1.0, Produktion.rohstoffwert(0.0, 1000000.0, 1100000.0, 0.0, 1.0), 0.0000000001);
390 assertEquals(1.15, Produktion.rohstoffwert(0.0, 1000000.0, 1100000.0, 0.0, 1.15), 0.0000000001);
391 assertEquals(1.0, Produktion.rohstoffwert(1000000.0, 1000000.0, 500000.0, 1.0, 1.0), 0.0000000001);
392 assertEquals(1.1, Produktion.rohstoffwert(1000000.0, 1000000.0, 500000.0, 1.0, 1.15), 0.0000000001);
393 }
394
395 public void testFertigungszeitGesamtFertigungsLohnKosten()
396 {
397 assertEquals(0.0, Produktion.fertigungszeitGesamtFertigungsLohnKosten(0.0, 0.0, 0.0), 0.0000000001);
398 assertEquals(52733.3333333333, Produktion.fertigungszeitGesamtFertigungsLohnKosten(400000.0, 7.0, 40000.0), 0.0000000001);
399 }
400
401 public void testNormalkapazitaet()
402 {
403 assertEquals(0.0, Produktion.normalkapazitaet(0.0, 0.0), 0.0000000001);
404 assertEquals(51000.0, Produktion.normalkapazitaet(99.0, 51000.0), 0.0000000001);
405 assertEquals(51000.0, Produktion.normalkapazitaet(101.0, 51000.0), 0.0000000001);
406 assertEquals(102000.0, Produktion.normalkapazitaet(150.0, 51000.0), 0.0000000001);
407 }
408
409 public void testFertigungszeitOhneUeberstundenOhneNacharbeit()
410 {
411 assertEquals(0.0, Produktion.fertigungszeitOhneUeberstundenOhneNacharbeit(0.0, 0.0), 0.0000000001);
412 assertEquals(46666.6666666667, Produktion.fertigungszeitOhneUeberstundenOhneNacharbeit(400000.0, 7.0), 0.0000000001);
413 assertEquals(51333.3333333333, Produktion.fertigungszeitOhneUeberstundenOhneNacharbeit(440000.0, 7.0), 0.0000000001);
414 }
415
416 public void testFertigungsLohnKostenOhneUeberstundenOhneNacharbeit()
417 {
418 assertEquals(0.0, Produktion.fertigungsLohnKostenOhneUeberstundenOhneNacharbeit(0.0, 0.0), 0.0000000001);
419 assertEquals(510000.0, Produktion.fertigungsLohnKostenOhneUeberstundenOhneNacharbeit(51000.0, 10.0), 0.0000000001);
420 assertEquals(765000.0, Produktion.fertigungsLohnKostenOhneUeberstundenOhneNacharbeit(76500.0, 10.0), 0.0000000001);
421 }
422
423 public void testUeberstundenzuschlaegeFLK()
424 {
425 assertEquals(0.0, Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(0.0, 0.0, 0.0), 0.0000000001);
426 assertEquals(0.0, Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(51000.0, 51000.0, 10.0), 0.0000000001);
427 assertEquals(
428 125000.0,
429 Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(76000.0, 51000.0, 10.0),
430 0.0000000001);
431 assertEquals(
432 127500.0,
433 Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(76500.0, 51000.0, 10.0),
434 0.0000000001);
435 assertEquals(0.0, Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(77000.0, 51000.0, 10.0), 0.0000000001);
436 assertEquals(0.0, Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(102000.0, 51000.0, 10.0), 0.0000000001);
437 assertEquals(
438 5000.0,
439 Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(103000.0, 51000.0, 10.0),
440 0.0000000001);
441 assertEquals(
442 127500.0,
443 Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(127500.0, 51000.0, 10.0),
444 0.0000000001);
445 assertEquals(0.0, Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(128000.0, 51000.0, 10.0), 0.0000000001);
446 assertEquals(0.0, Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(153000.0, 51000.0, 10.0), 0.0000000001);
447 assertEquals(
448 2500.0,
449 Produktion.ueberstundenzuschlaegeFertigungsLohnKosten(153500.0, 51000.0, 10.0),
450 0.0000000001);
451 }
452
453 public void testNacharbeitsZeitOhneUeberstunden()
454 {
455 assertEquals(0.0, Produktion.nacharbeitsZeitOhneUeberstunden(0.0, 0.0, 0.0), 0.0000000001);
456 assertEquals(10000.0, Produktion.nacharbeitsZeitOhneUeberstunden(40000.0, 10.0, 0.5), 0.0000000001);
457 }
458
459 public void testNacharbeitslohnkostenOhneUeberstunden()
460 {
461 assertEquals(0.0, Produktion.nacharbeitslohnkostenOhneUeberstunden(0.0, 0.0), 0.0000000001);
462 assertEquals(50000.0, Produktion.nacharbeitslohnkostenOhneUeberstunden(5000.0, 10.0), 0.0000000001);
463 assertEquals(100000.0, Produktion.nacharbeitslohnkostenOhneUeberstunden(10000.0, 10.0), 0.0000000001);
464 }
465
466 public void testUeberstundenzuschlagNacharbeit()
467 {
468 assertEquals(0.0, Produktion.ueberstundenzuschlagNacharbeit(0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
469 assertEquals(
470 0.0,
471 Produktion.ueberstundenzuschlagNacharbeit(1500000.0, 25500.0, 51000.0, 5000.0, 51000.0, 10.0),
472 0.0000000001);
473 assertEquals(
474 0.0,
475 Produktion.ueberstundenzuschlagNacharbeit(15000.0, 51000.0, 51000.0, 5000.0, 51000.0, 10.0),
476 0.0000000001);
477 assertEquals(
478 0.0,
479 Produktion.ueberstundenzuschlagNacharbeit(1500000.0, 61000.0, 51000.0, 5000.0, 51000.0, 10.0),
480 0.0000000001);
481 assertEquals(
482 0.0,
483 Produktion.ueberstundenzuschlagNacharbeit(1500000.0, 76500.0, 51000.0, 5000.0, 51000.0, 10.0),
484 0.0000000001);
485 assertEquals(
486 0.0,
487 Produktion.ueberstundenzuschlagNacharbeit(1500000.0, 102000.0, 51000.0, 5000.0, 51000.0, 10.0),
488 0.0000000001);
489 assertEquals(
490 25000.0,
491 Produktion.ueberstundenzuschlagNacharbeit(1500000.0, 127500.0, 51000.0, 5000.0, 51000.0, 10.0),
492 0.0000000001);
493 assertEquals(
494 0.0,
495 Produktion.ueberstundenzuschlagNacharbeit(1500000.0, 153000.0, 51000.0, 5000.0, 51000.0, 10.0),
496 0.0000000001);
497 assertEquals(
498 25000.0,
499 Produktion.ueberstundenzuschlagNacharbeit(1500000.0, 178500.0, 51000.0, 5000.0, 51000.0, 10.0),
500 0.0000000001);
501 assertEquals(
502 0.0,
503 Produktion.ueberstundenzuschlagNacharbeit(1500000.0, 204000.0, 51000.0, 5000.0, 51000.0, 10.0),
504 0.0000000001);
505 /***@TODO Tests implementieren*/
506
507
508
509
510
511
512 }
513
514 public void testLohnkosten()
515 {
516 assertEquals(0.0, Produktion.lohnkosten(0.0, 0.0), 0.0000000001);
517 assertEquals(200000.0, Produktion.lohnkosten(100000.0, 100000.0), 0.0000000001);
518 }
519
520 public void testFertigungsLohnKostenGesamt()
521 {
522 assertEquals(0.0, Produktion.fertigungsLohnKostenGesamt(0.0, 0.0, 0.0, 0.0), 0.0000000001);
523 assertEquals(400000.0, Produktion.fertigungsLohnKostenGesamt(100000.0, 100000.0, 100000.0, 100000.0), 0.0000000001);
524 }
525 }