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.Finanzierung;
26 import org.fhw.cabaweb.data.dataobjects.ForschungUndEntwicklung;
27 import org.fhw.cabaweb.data.dataobjects.ProduktartAbhaengigkeiten;
28 import org.fhw.cabaweb.data.dataobjects.Verwaltungskosten;
29
30 /***
31 * Klasse für den Test der Finanzierungsfunktionen
32 *
33 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
34 * @version Version 1.0 11.-22.03.2004
35 */
36 public class FinanzierungTest extends TestCase
37 {
38 private ArrayList forschungUndEntwicklungTabelle;
39 private ArrayList produktArtAbhaengigkeitenTabelle;
40 private ArrayList verwaltungTabelle;
41
42 public static void main(String args[])
43 {
44
45 junit.textui.TestRunner.run(PasswordTest.class);
46 }
47
48
49
50
51 protected void setUp() throws Exception
52 {
53 super.setUp();
54
55 produktArtAbhaengigkeitenTabelle = new ArrayList();
56 forschungUndEntwicklungTabelle = new ArrayList();
57 verwaltungTabelle = new ArrayList();
58
59 produktArtAbhaengigkeitenTabelle.add(0, new ProduktartAbhaengigkeiten(1, 0.0, 7.0, 2.0));
60 produktArtAbhaengigkeitenTabelle.add(1, new ProduktartAbhaengigkeiten(2, 3.0, 7.5, 1.8));
61 produktArtAbhaengigkeitenTabelle.add(2, new ProduktartAbhaengigkeiten(3, 5.0, 8.0, 1.6));
62 produktArtAbhaengigkeitenTabelle.add(3, new ProduktartAbhaengigkeiten(4, 7.0, 8.5, 1.4));
63 produktArtAbhaengigkeitenTabelle.add(4, new ProduktartAbhaengigkeiten(5, 9.0, 9.0, 1.2));
64 produktArtAbhaengigkeitenTabelle.add(5, new ProduktartAbhaengigkeiten(6, 5.0, 9.5, 1.1));
65 produktArtAbhaengigkeitenTabelle.add(6, new ProduktartAbhaengigkeiten(7, 10.0, 10.0, 1.0));
66 produktArtAbhaengigkeitenTabelle.add(7, new ProduktartAbhaengigkeiten(8, 8.0, 10.5, 1.1));
67 produktArtAbhaengigkeitenTabelle.add(8, new ProduktartAbhaengigkeiten(9, 12.0, 11.0, 1.2));
68 produktArtAbhaengigkeitenTabelle.add(9, new ProduktartAbhaengigkeiten(10, 14.0, 11.5, 1.3));
69
70 forschungUndEntwicklungTabelle.add(0, new ForschungUndEntwicklung(0.0, -1));
71 forschungUndEntwicklungTabelle.add(1, new ForschungUndEntwicklung(150000.0, 0));
72 forschungUndEntwicklungTabelle.add(2, new ForschungUndEntwicklung(180000.0, 1));
73 forschungUndEntwicklungTabelle.add(3, new ForschungUndEntwicklung(200000.0, 2));
74 forschungUndEntwicklungTabelle.add(4, new ForschungUndEntwicklung(350000.0, 3));
75 forschungUndEntwicklungTabelle.add(5, new ForschungUndEntwicklung(550000.0, 4));
76 forschungUndEntwicklungTabelle.add(6, new ForschungUndEntwicklung(800000.0, 5));
77 forschungUndEntwicklungTabelle.add(7, new ForschungUndEntwicklung(1000000.0, 6));
78 forschungUndEntwicklungTabelle.add(8, new ForschungUndEntwicklung(1200000.0, 7));
79 forschungUndEntwicklungTabelle.add(9, new ForschungUndEntwicklung(1400000.0, 8));
80
81 verwaltungTabelle.add(0, new Verwaltungskosten(100.0, 500000.0));
82 verwaltungTabelle.add(1, new Verwaltungskosten(150.0, 550000.0));
83 verwaltungTabelle.add(2, new Verwaltungskosten(200.0, 600000.0));
84 verwaltungTabelle.add(3, new Verwaltungskosten(250.0, 700000.0));
85 verwaltungTabelle.add(4, new Verwaltungskosten(300.0, 800000.0));
86 verwaltungTabelle.add(5, new Verwaltungskosten(350.0, 1100000.0));
87 verwaltungTabelle.add(5, new Verwaltungskosten(400.0, 1500000.0));
88 }
89
90 public void testRealeForschungUndEntwicklung()
91 {
92
93 assertEquals(0.0, Finanzierung.realeForschungUndEntwicklung(0.0, 1.0), 0.0000000001);
94 assertEquals(232213.4387351779, Finanzierung.realeForschungUndEntwicklung(235000.0, 1.012), 0.0000000001);
95 }
96
97 public void testWirksameForschungUndEntwicklung()
98 {
99
100 assertEquals(0.0, Finanzierung.wirksameForschungUndEntwicklung(0.0, 0.0, 0.0), 0.0000000001);
101 assertEquals(232000.0, Finanzierung.wirksameForschungUndEntwicklung(0.0, 0.0, 232000.0), 0.0000000001);
102 assertEquals(155440.0, Finanzierung.wirksameForschungUndEntwicklung(0.33, 0.0, 232000.0), 0.0000000001);
103 assertEquals(232000.0, Finanzierung.wirksameForschungUndEntwicklung(0.33, 232000.0, 232000.0), 0.0000000001);
104 assertEquals(76560.0, Finanzierung.wirksameForschungUndEntwicklung(0.33, 232000.0, 0.0), 0.0000000001);
105 }
106
107 public void testPraeferenzEffekt()
108 {
109
110 assertEquals(0.0, Finanzierung.praeferenzEffekt(produktArtAbhaengigkeitenTabelle, 1), 0.0000000001);
111 assertEquals(0.03, Finanzierung.praeferenzEffekt(produktArtAbhaengigkeitenTabelle, 2), 0.0000000001);
112 assertEquals(0.05, Finanzierung.praeferenzEffekt(produktArtAbhaengigkeitenTabelle, 3), 0.0000000001);
113 assertEquals(0.14, Finanzierung.praeferenzEffekt(produktArtAbhaengigkeitenTabelle, 10), 0.0000000001);
114 }
115
116 public void testNominelleFertigunsstueckZeit()
117 {
118
119 assertEquals(7.0, Finanzierung.nominelleFertigunsstueckZeit(produktArtAbhaengigkeitenTabelle, 1), 0.0000000001);
120 assertEquals(7.5, Finanzierung.nominelleFertigunsstueckZeit(produktArtAbhaengigkeitenTabelle, 2), 0.0000000001);
121 assertEquals(8.0, Finanzierung.nominelleFertigunsstueckZeit(produktArtAbhaengigkeitenTabelle, 3), 0.0000000001);
122 assertEquals(
123 11.50,
124 Finanzierung.nominelleFertigunsstueckZeit(produktArtAbhaengigkeitenTabelle, 10),
125 0.0000000001);
126 }
127
128 public void testRohstoffVerbrauchProStueck()
129 {
130
131 assertEquals(2.0, Finanzierung.rohstoffVerbrauchProStueck(produktArtAbhaengigkeitenTabelle, 1), 0.0000000001);
132 assertEquals(1.8, Finanzierung.rohstoffVerbrauchProStueck(produktArtAbhaengigkeitenTabelle, 2), 0.0000000001);
133 assertEquals(1.6, Finanzierung.rohstoffVerbrauchProStueck(produktArtAbhaengigkeitenTabelle, 3), 0.0000000001);
134 assertEquals(1.3, Finanzierung.rohstoffVerbrauchProStueck(produktArtAbhaengigkeitenTabelle, 10), 0.0000000001);
135 }
136
137 public void testProduktArt()
138 {
139
140 assertEquals(1, Finanzierung.produktArt(0.0, forschungUndEntwicklungTabelle, 1, 10));
141 assertEquals(1, Finanzierung.produktArt(149999.0, forschungUndEntwicklungTabelle, 1, 10));
142 assertEquals(2, Finanzierung.produktArt(0.0, forschungUndEntwicklungTabelle, 3, 10));
143 assertEquals(2, Finanzierung.produktArt(1.0, forschungUndEntwicklungTabelle, 3, 10));
144 assertEquals(2, Finanzierung.produktArt(149999.0, forschungUndEntwicklungTabelle, 3, 10));
145 assertEquals(3, Finanzierung.produktArt(150001.0, forschungUndEntwicklungTabelle, 3, 10));
146 assertEquals(4, Finanzierung.produktArt(180001.0, forschungUndEntwicklungTabelle, 3, 10));
147 assertEquals(9, Finanzierung.produktArt(1400001.0, forschungUndEntwicklungTabelle, 1, 10));
148 assertEquals(10, Finanzierung.produktArt(1400001.0, forschungUndEntwicklungTabelle, 5, 10));
149 assertEquals(10, Finanzierung.produktArt(150001.0, forschungUndEntwicklungTabelle, 10, 10));
150 assertEquals(9, Finanzierung.produktArt(0.0, forschungUndEntwicklungTabelle, 10, 10));
151 }
152
153 public void testDurchschnittlicherZinssatz()
154 {
155
156 assertEquals(0.0, Finanzierung.durchschnittlicherZinssatz(0.0, 0.0, 7784000.0, 0.0), 0.0000000001);
157 assertEquals(3.0, Finanzierung.durchschnittlicherZinssatz(3.0, 3.0, 7784000.0, 0.0), 0.0000000001);
158 assertEquals(2.0, Finanzierung.durchschnittlicherZinssatz(3.0, 2.0, 7784000.0, 0.0), 0.0000000001);
159 assertEquals(3.0, Finanzierung.durchschnittlicherZinssatz(2.0, 3.0, 7784000.0, 0.0), 0.0000000001);
160 assertEquals(3.0, Finanzierung.durchschnittlicherZinssatz(3.0, 3.0, 5784000.0, 2000000.0), 0.0000000001);
161 assertEquals(2.25, Finanzierung.durchschnittlicherZinssatz(3.0, 2.0, 6000000.0, 2000000.0), 0.0000000001);
162 assertEquals(2.75, Finanzierung.durchschnittlicherZinssatz(2.0, 3.0, 6000000.0, 2000000.0), 0.0000000001);
163 assertEquals(-220000, Finanzierung.durchschnittlicherZinssatz(2.0, 3.0, -6000000.0, -2000000.0), 0.0000000001);
164 }
165
166 public void testZinssatzUeberziehungsKredit()
167 {
168
169 assertEquals(3.0, Finanzierung.zinssatzUeberziehungsKredit(0.0, 0.0, 3.0), 0.0000000001);
170 assertEquals(5.2092085857, Finanzierung.zinssatzUeberziehungsKredit(0.0, 8000000.0, 3.0), 0.0000000001);
171 assertEquals(2.4554635815, Finanzierung.zinssatzUeberziehungsKredit(500000.0, 8000000.0, 3.0), 0.0000000001);
172 }
173
174 public void testGrenzZinssatzUeberziehungskredit()
175 {
176
177 assertEquals(3.0004999583, Finanzierung.grenzZinssatzUeberziehungskredit(0.0, 0.0, 3.0), 0.0000000001);
178 assertEquals(6.2636410649, Finanzierung.grenzZinssatzUeberziehungskredit(0.0, 8000000.0, 3.0), 0.0000000001);
179 assertEquals(
180 3.5098960607,
181 Finanzierung.grenzZinssatzUeberziehungskredit(500000.0, 8000000.0, 3.0),
182 0.0000000001);
183 }
184
185 public void testZinskostenUeberziehungskredit()
186 {
187
188 assertEquals(0.0, Finanzierung.zinskostenUeberziehungskredit(0.0, 0.03), 0.0000000001);
189 assertEquals(150000.0, Finanzierung.zinskostenUeberziehungskredit(5000000.0, 0.03), 0.0000000001);
190 assertEquals(250000.0, Finanzierung.zinskostenUeberziehungskredit(10000000.0, 0.025), 0.0000000001);
191 }
192
193 public void testZinskostenBankkredit()
194 {
195
196 assertEquals(0.0, Finanzierung.zinskostenBankkredit(0.0, 0.03), 0.0000000001);
197 assertEquals(150000.0, Finanzierung.zinskostenBankkredit(5000000.0, 0.03), 0.0000000001);
198 }
199
200 public void testZinsenZuviel()
201 {
202
203 assertEquals(0.0, Finanzierung.zinsenZuviel(0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
204 assertEquals(
205 201903.66078,
206 Finanzierung.zinsenZuviel(-0.0, 3.0, 7741609.575, 0.0, -7741609.575, 8764076.174, 464825.946),
207 0.0000000001);
208 }
209
210 public void testUeberziehungsKreditOptimal()
211 {
212
213 assertEquals(0.0, Finanzierung.ueberziehungsKreditOptimal(0.0, 3.0), 0.0000000001);
214 assertEquals(2597000.0, Finanzierung.ueberziehungsKreditOptimal(200000.0, 3.0), 0.0000000001);
215 }
216
217 public void testUeberziehungsKreditAenderungOptimal()
218 {
219
220 assertEquals(0.0, Finanzierung.ueberziehungsKreditAenderungOptimal(0.0, 0.0), 0.0000000001);
221 assertEquals(1691000.0, Finanzierung.ueberziehungsKreditAenderungOptimal(2597000.0, 906000.0), 0.0000000001);
222 }
223
224 public void testVereinbarterKreditAenderungOptimal()
225 {
226
227 assertEquals(0.0, Finanzierung.vereinbarterKreditAenderungOptimal(0.0, 0.0), 0.0000000001);
228 assertEquals(-2597000.0, Finanzierung.vereinbarterKreditAenderungOptimal(0.0, 2597000.0), 0.0000000001);
229 assertEquals(+1000000.0, Finanzierung.vereinbarterKreditAenderungOptimal(3597000.0, 2597000.0), 0.0000000001);
230 }
231
232 public void testBruttoDividende()
233 {
234
235 assertEquals(0.0, Finanzierung.bruttoDividende(0.0, 0.0), 0.0000000001);
236 }
237
238 public void testSteuernAufBruttoDividende()
239 {
240
241 assertEquals(0.0, Finanzierung.steuernAufBruttoDividende(0.0, 0.0), 0.0000000001);
242 }
243
244 public void testNettoDividende()
245 {
246
247 assertEquals(0.0, Finanzierung.nettoDividende(0.0, 0.0), 0.0000000001);
248 }
249
250 public void testRestbetragVorSteuern()
251 {
252
253 assertEquals(0.0, Finanzierung.restbetragVorSteuern(0.0, 0.0), 0.0000000001);
254 }
255
256 public void testSteuernAufRestbetrag()
257 {
258
259 assertEquals(0.0, Finanzierung.steuernAufRestbetrag(0.0, 0.0), 0.0000000001);
260 }
261
262 public void testRuecklagenzufuehrung()
263 {
264
265 assertEquals(0.0, Finanzierung.ruecklagenzufuehrung(0.0, 0.0), 0.0000000001);
266 }
267
268 public void testAnlageVermoegen()
269 {
270
271 assertEquals(0.0, Finanzierung.anlageVermoegen(0.0, 0.0, 0.0), 0.0000000001);
272 assertEquals(6250000.0, Finanzierung.anlageVermoegen(5000000.0, 250000.0, 1000000.0), 0.0000000001);
273 assertEquals(5750000.0, Finanzierung.anlageVermoegen(5000000.0, -250000.0, 1000000.0), 0.0000000001);
274 }
275
276 public void testKasse()
277 {
278
279 assertEquals(0.0, Finanzierung.kasse(0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
280 assertEquals(
281 3000000.0,
282 Finanzierung.kasse(0.0, 1000000.0, 500000.0, 2500000.0, 500000.0, -500000.0),
283 0.0000000001);
284 assertEquals(0.0, Finanzierung.kasse(0.0, 0.0, 1000000.0, 0.0, 350000.0, -250000.0), 0.0000000001);
285 }
286
287 public void testKapitalerhoehung()
288 {
289
290 assertEquals(0.0, Finanzierung.kapitalerhoehung(0.0, 0.0), 0.0000000001);
291 assertEquals(200000.0, Finanzierung.kapitalerhoehung(250000.0, 100000.0), 0.0000000001);
292 assertEquals(200000.0, Finanzierung.kapitalerhoehung(100000.0, 250000.0), 0.0000000001);
293 assertEquals(0.0, Finanzierung.kapitalerhoehung(0.0, 10000000.0), 0.0000000001);
294 assertEquals(10.0, Finanzierung.kapitalerhoehung(5.0, 10000000.0), 0.0000000001);
295 }
296
297 public void testAktiva()
298 {
299
300 assertEquals(0.0, Finanzierung.aktiva(0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
301 assertEquals(500000.0, Finanzierung.aktiva(100000.0, 100000.0, 100000.0, 100000.0, 100000.0), 0.0000000001);
302 assertEquals(400000.0, Finanzierung.aktiva(50000.0, 100000.0, 50000.0, 100000.0, 100000.0), 0.0000000001);
303 }
304
305 public void testPassiva()
306 {
307
308 assertEquals(0.0, Finanzierung.passiva(0.0, 0.0, 0.0, 0.0), 0.0000000001);
309 assertEquals(400000.0, Finanzierung.passiva(100000.0, 100000.0, 100000.0, 100000.0), 0.0000000001);
310 assertEquals(300000.0, Finanzierung.passiva(50000.0, 100000.0, 50000.0, 100000.0), 0.0000000001);
311 }
312
313 public void testEigenKapital()
314 {
315
316 assertEquals(0.0, Finanzierung.eigenKapital(0.0, 0.0, 0.0, 0.0), 0.0000000001);
317 assertEquals(700000.0, Finanzierung.eigenKapital(1000000.0, 100000.0, 100000.0, 100000.0), 0.0000000001);
318 assertEquals(-300000.0, Finanzierung.eigenKapital(0.0, 100000.0, 100000.0, 100000.0), 0.0000000001);
319 }
320
321 public void testUnverzinslicheVerbindlichkeiten()
322 {
323
324 assertEquals(0.0, Finanzierung.unverzinslicheVerbindlichkeiten(0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
325 assertEquals(
326 600000.0,
327 Finanzierung.unverzinslicheVerbindlichkeiten(100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0),
328 0.0000000001);
329 assertEquals(
330 450000.0,
331 Finanzierung.unverzinslicheVerbindlichkeiten(100000.0, 50000.0, 100000.0, 50000.0, 100000.0, 50000.0),
332 0.0000000001);
333 }
334
335 public void testUeberziehungsKredit()
336 {
337
338 assertEquals(0.0, Finanzierung.ueberziehungsKredit(0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
339 assertEquals(
340 17775.0,
341 Finanzierung.ueberziehungsKredit(9999.0, 8888.0, 100000.0, 99999.0, 100000.0, 1111.0),
342 0.0000000001);
343 assertEquals(
344 117775.0,
345 Finanzierung.ueberziehungsKredit(9999.0, 8888.0, -100000.0, 99999.0, 0.0, 1111.0),
346 0.0000000001);
347 assertEquals(
348 0.0,
349 Finanzierung.ueberziehungsKredit(-9999.0, -8888.0, 100000.0, -99999.0, 100000.0, -1111.0),
350 0.0000000001);
351 }
352
353 public void testVereinbartKredit()
354 {
355
356 assertEquals(0.0, Finanzierung.vereinbartKredit(0.0, 0.0), 0.0000000001);
357 assertEquals(200000.0, Finanzierung.vereinbartKredit(100000.0, 100000.0), 0.0000000001);
358 assertEquals(0.0, Finanzierung.vereinbartKredit(100000.0, -100000.0), 0.0000000001);
359 assertEquals(0.0, Finanzierung.vereinbartKredit(0.0, -100000.0), 0.0000000001);
360 }
361
362 public void testErfolgVorSteuern()
363 {
364
365 assertEquals(
366 0.0,
367 Finanzierung.erfolgVorSteuern(
368 0.0,
369 0.0,
370 0.0,
371 0.0,
372 0.0,
373 0.0,
374 0.0,
375 0.0,
376 0.0,
377 0.0,
378 0.0,
379 0.0,
380 0.0,
381 0.0,
382 0.0,
383 0.0,
384 0.0,
385 0.0,
386 0.0,
387 0.0,
388 0.0,
389 0.0,
390 0.0),
391 0.0000000001);
392 assertEquals(
393 4300000.0,
394 Finanzierung.erfolgVorSteuern(
395 100000.0,
396 100000.0,
397 100000.0,
398 600000.0,
399 100000.0,
400 100000.0,
401 100000.0,
402 100000.0,
403 600000.0,
404 100000.0,
405 100000.0,
406 100000.0,
407 100000.0,
408 600000.0,
409 100000.0,
410 100000.0,
411 100000.0,
412 100000.0,
413 600000.0,
414 100000.0,
415 100000.0,
416 100000.0,
417 100000.0),
418 0.0000000001);
419 }
420
421 public void testLiquiditaetswirksamerErfolgOhneZinsen()
422 {
423
424 assertEquals(
425 0.0,
426 Finanzierung.liquiditaetswirksamerErfolgOhneZinsen(
427 0.0,
428 0.0,
429 0.0,
430 0.0,
431 0.0,
432 0.0,
433 0.0,
434 0.0,
435 0.0,
436 0.0,
437 0.0,
438 0.0,
439 0.0,
440 0.0,
441 0.0,
442 0.0,
443 0.0),
444 0.0000000001);
445 assertEquals(
446 3200000.0,
447 Finanzierung.liquiditaetswirksamerErfolgOhneZinsen(
448 100000.0,
449 100000.0,
450 100000.0,
451 100000.0,
452 600000.0,
453 100000.0,
454 100000.0,
455 100000.0,
456 100000.0,
457 600000.0,
458 100000.0,
459 100000.0,
460 100000.0,
461 100000.0,
462 600000.0,
463 100000.0,
464 100000.0),
465 0.0000000001);
466 }
467
468 public void testZusaetzlicherKapitalbedarf()
469 {
470
471 assertEquals(0.0, Finanzierung.zusaetzlicherKapitalbedarf(0.0, 0.0), 0.0000000001);
472 assertEquals(400000.0, Finanzierung.zusaetzlicherKapitalbedarf(1000000.0, 600000.0), 0.0000000001);
473 assertEquals(-100000.0, Finanzierung.zusaetzlicherKapitalbedarf(500000.0, 600000.0), 0.0000000001);
474 }
475
476 public void testLiquiditaetswirksamerErfolg()
477 {
478
479 assertEquals(
480 0.0,
481 Finanzierung.liquiditaetswirksamerErfolg(
482 0.0,
483 0.0,
484 0.0,
485 0.0,
486 0.0,
487 0.0,
488 0.0,
489 0.0,
490 0.0,
491 0.0,
492 0.0,
493 0.0,
494 0.0,
495 0.0,
496 0.0,
497 0.0,
498 0.0,
499 0.0,
500 0.0),
501 0.0000000001);
502 assertEquals(
503 3400000.0,
504 Finanzierung.liquiditaetswirksamerErfolg(
505 100000.0,
506 100000.0,
507 100000.0,
508 100000.0,
509 600000.0,
510 100000.0,
511 100000.0,
512 100000.0,
513 100000.0,
514 600000.0,
515 100000.0,
516 100000.0,
517 100000.0,
518 100000.0,
519 600000.0,
520 100000.0,
521 100000.0,
522 100000.0,
523 100000.0),
524 0.0000000001);
525 }
526
527 public void testLiquiditaetsaenderung()
528 {
529
530 assertEquals(0.0, Finanzierung.liquiditaetsaenderung(0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
531 assertEquals(
532 500000.0,
533 Finanzierung.liquiditaetsaenderung(100000.0, 100000.0, 100000.0, 100000.0, 100000.0),
534 0.0000000001);
535 }
536
537 public void testVollkosten()
538 {
539
540 assertEquals(0.0, Finanzierung.vollkosten(0.0, 0.0, 0.0), 0.0000000001);
541 assertEquals(3.0, Finanzierung.vollkosten(1.0, 1.0, 1.0), 0.0000000001);
542 }
543
544 public void testHerstellEinzelKosten()
545 {
546
547 assertEquals(0.0, Finanzierung.herstellEinzelKosten(0.0, 0.0, 0.0), 0.0000000001);
548 assertEquals(3.0, Finanzierung.herstellEinzelKosten(1.0, 1.0, 1.0), 0.0000000001);
549 }
550
551 public void testVertriebskosten()
552 {
553
554 assertEquals(0.0, Finanzierung.vertriebskosten(0.0, 0.0, 0.0), 0.0000000001);
555 assertEquals(3.0, Finanzierung.vertriebskosten(1.0, 1.0, 1.0), 0.0000000001);
556 }
557
558 public void testHerstellGemeinKosten()
559 {
560
561 assertEquals(0.0, Finanzierung.herstellGemeinKosten(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
562 assertEquals(
563 700000.0,
564 Finanzierung.herstellGemeinKosten(100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0),
565 0.0000000001);
566 }
567
568 public void testVertriebsKostenMarketing()
569 {
570
571 assertEquals(0.0, Finanzierung.vertriebsKostenMarketing(0.0, 0.0), 0.0000000001);
572 assertEquals(100000.0, Finanzierung.vertriebsKostenMarketing(100000.0, -10000.0), 0.0000000001);
573 assertEquals(10.0, Finanzierung.vertriebsKostenMarketing(100000.0, 10000.0), 0.0000000001);
574 }
575
576 public void testVertriebsKostenLagerungFertigprodukte()
577 {
578
579 assertEquals(0.0, Finanzierung.vertriebsKostenLagerungFertigprodukte(0.0, 0.0), 0.0000000001);
580 assertEquals(100000.0, Finanzierung.vertriebsKostenLagerungFertigprodukte(100000.0, -10000.0), 0.0000000001);
581 assertEquals(10.0, Finanzierung.vertriebsKostenLagerungFertigprodukte(100000.0, 10000.0), 0.0000000001);
582 }
583
584 public void testVertriebsKostenBeratungUndMarktforschung()
585 {
586
587 assertEquals(0.0, Finanzierung.vertriebsKostenBeratungUndMarktforschung(0.0, 0.0, 0.0), 0.0000000001);
588 assertEquals(
589 100000.0,
590 Finanzierung.vertriebsKostenBeratungUndMarktforschung(50000.0, 50000.0, -10000.0),
591 0.0000000001);
592 assertEquals(
593 10.0,
594 Finanzierung.vertriebsKostenBeratungUndMarktforschung(50000.0, 50000.0, 10000.0),
595 0.0000000001);
596 }
597
598 public void testHerstellEinzelKostenLoehne()
599 {
600
601 assertEquals(0.0, Finanzierung.herstellEinzelKostenLoehne(0.0, 0.0), 0.0000000001);
602 assertEquals(100000.0, Finanzierung.herstellEinzelKostenLoehne(100000.0, -10000.0), 0.0000000001);
603 assertEquals(10.0, Finanzierung.herstellEinzelKostenLoehne(100000.0, 10000.0), 0.0000000001);
604 }
605
606 public void testHerstellEinzelKostenUeberstunden()
607 {
608
609 assertEquals(0.0, Finanzierung.herstellEinzelKostenUeberstunden(0.0, 0.0), 0.0000000001);
610 assertEquals(100000.0, Finanzierung.herstellEinzelKostenUeberstunden(100000.0, -10000.0), 0.0000000001);
611 assertEquals(10.0, Finanzierung.herstellEinzelKostenUeberstunden(100000.0, 10000.0), 0.0000000001);
612 }
613
614 public void testHerstellEinzelKostenRohstoffe()
615 {
616
617 assertEquals(0.0, Finanzierung.herstellEinzelKostenRohstoffe(0.0, 0.0), 0.0000000001);
618 assertEquals(100000.0, Finanzierung.herstellEinzelKostenRohstoffe(100000.0, -10000.0), 0.0000000001);
619 assertEquals(10.0, Finanzierung.herstellEinzelKostenRohstoffe(100000.0, 10000.0), 0.0000000001);
620 }
621
622 public void testHerstellGemeinKostenRohstoffe()
623 {
624
625 assertEquals(0.0, Finanzierung.herstellGemeinKostenRohstoffe(0.0, 0.0, 0.0), 0.0000000001);
626 assertEquals(100000.0, Finanzierung.herstellGemeinKostenRohstoffe(50000.0, 50000.0, -10000.0), 0.0000000001);
627 assertEquals(10.0, Finanzierung.herstellGemeinKostenRohstoffe(50000.0, 50000.0, 10000.0), 0.0000000001);
628 }
629
630 public void testHerstellGemeinKostenAbschreibungUndAnlagenprojektierung()
631 {
632
633 assertEquals(
634 0.0,
635 Finanzierung.herstellGemeinKostenAbschreibungUndAnlagenprojektierung(0.0, 0.0, 0.0),
636 0.0000000001);
637 assertEquals(
638 100000.0,
639 Finanzierung.herstellGemeinKostenAbschreibungUndAnlagenprojektierung(50000.0, 50000.0, -10000.0),
640 0.0000000001);
641 assertEquals(
642 10.0,
643 Finanzierung.herstellGemeinKostenAbschreibungUndAnlagenprojektierung(50000.0, 50000.0, 10000.0),
644 0.0000000001);
645 }
646
647 public void testHerstellGemeinKostenQualitaetssicherung()
648 {
649
650 assertEquals(0.0, Finanzierung.herstellGemeinKostenQualitaetssicherung(0.0, 0.0), 0.0000000001);
651 assertEquals(100000.0, Finanzierung.herstellGemeinKostenQualitaetssicherung(100000.0, -10000.0), 0.0000000001);
652 assertEquals(10.0, Finanzierung.herstellGemeinKostenQualitaetssicherung(100000.0, 10000.0), 0.0000000001);
653 }
654
655 public void testHerstellGemeinKostenSchichtwechsel()
656 {
657
658 assertEquals(0.0, Finanzierung.herstellGemeinKostenSchichtwechsel(0.0, 0.0), 0.0000000001);
659 assertEquals(100000.0, Finanzierung.herstellGemeinKostenSchichtwechsel(100000.0, -10000.0), 0.0000000001);
660 assertEquals(10.0, Finanzierung.herstellGemeinKostenSchichtwechsel(100000.0, 10000.0), 0.0000000001);
661 }
662
663 public void testHerstellGemeinKostenForschungUndEntwicklung()
664 {
665
666 assertEquals(0.0, Finanzierung.herstellGemeinKostenForschungUndEntwicklung(0.0, 0.0), 0.0000000001);
667 assertEquals(
668 100000.0,
669 Finanzierung.herstellGemeinKostenForschungUndEntwicklung(100000.0, -10000.0),
670 0.0000000001);
671 assertEquals(10.0, Finanzierung.herstellGemeinKostenForschungUndEntwicklung(100000.0, 10000.0), 0.0000000001);
672 }
673
674 public void testHerstellGemeinKostenZinsen()
675 {
676
677 assertEquals(0.0, Finanzierung.herstellGemeinKostenZinsen(0.0, 0.0, 0.0), 0.0000000001);
678 assertEquals(100000.0, Finanzierung.herstellGemeinKostenZinsen(50000.0, 50000.0, -10000.0), 0.0000000001);
679 assertEquals(10.0, Finanzierung.herstellGemeinKostenZinsen(50000.0, 50000.0, 10000.0), 0.0000000001);
680 }
681
682 public void testHerstellGemeinKostenVerwaltung()
683 {
684
685 assertEquals(0.0, Finanzierung.herstellGemeinKostenVerwaltung(0.0, 0.0), 0.0000000001);
686 assertEquals(100000.0, Finanzierung.herstellGemeinKostenVerwaltung(100000.0, -10000.0), 0.0000000001);
687 assertEquals(10.0, Finanzierung.herstellGemeinKostenVerwaltung(100000.0, 10000.0), 0.0000000001);
688 }
689
690 public void testGewinn()
691 {
692
693 assertEquals(0.0, Finanzierung.gewinn(0.0, 0.0), 0.0000000001);
694 assertEquals(90000.0, Finanzierung.gewinn(100000.0, -10000.0), 0.0000000001);
695 assertEquals(110000.0, Finanzierung.gewinn(100000.0, 10000.0), 0.0000000001);
696 }
697
698 public void testProduktionInDerLetztenZone()
699 {
700
701 assertEquals(400000.0, Finanzierung.produktionInDerLetztenZone(0.0, 400000.0), 0.0000000001);
702 assertEquals(400000.0, Finanzierung.produktionInDerLetztenZone(99.99, 400000.0), 0.0000000001);
703 assertEquals(39.9960004, Finanzierung.produktionInDerLetztenZone(100.01, 400000.0), 0.0000000001);
704 assertEquals(133315.5543702914, Finanzierung.produktionInDerLetztenZone(149.99, 400000.0), 0.0000000001);
705 assertEquals(26.6648890074, Finanzierung.produktionInDerLetztenZone(150.01, 400000.0), 0.0000000001);
706 assertEquals(99984.9992499625, Finanzierung.produktionInDerLetztenZone(199.99, 400000.0), 0.0000000001);
707 assertEquals(19.99900005, Finanzierung.produktionInDerLetztenZone(200.01, 400000.0), 0.0000000001);
708 assertEquals(79987.1994879795, Finanzierung.produktionInDerLetztenZone(249.99, 400000.0), 0.0000000001);
709 assertEquals(15.9993600256, Finanzierung.produktionInDerLetztenZone(250.01, 400000.0), 0.0000000001);
710 assertEquals(66655.5551851729, Finanzierung.produktionInDerLetztenZone(299.99, 400000.0), 0.0000000001);
711 assertEquals(13.3328889037, Finanzierung.produktionInDerLetztenZone(300.01, 400000.0), 0.0000000001);
712 }
713
714 public void testGrenzHerstellKosten()
715 {
716
717 assertEquals(0.0, Finanzierung.grenzHerstellKosten(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 0.0000000001);
718 assertEquals(6.0, Finanzierung.grenzHerstellKosten(0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0), 0.0000000001);
719 assertEquals(6.0, Finanzierung.grenzHerstellKosten(100.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0), 0.0000000001);
720 assertEquals(9.0, Finanzierung.grenzHerstellKosten(0.0, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5), 0.0000000001);
721 }
722
723 public void testGrenzHerstellKostenLoehne()
724 {
725
726 assertEquals(0.0, Finanzierung.grenzHerstellKostenLoehne(0.0, 0.0, 0.0), 0.0000000001);
727 assertEquals(2.0, Finanzierung.grenzHerstellKostenLoehne(100.01, 800000.0, 400000.0), 0.0000000001);
728 assertEquals(2.0, Finanzierung.grenzHerstellKostenLoehne(199.99, 800000.0, 400000.0), 0.0000000001);
729 assertEquals(2.0, Finanzierung.grenzHerstellKostenLoehne(200.01, 800000.0, 400000.0), 0.0000000001);
730 }
731
732 public void testGrenzHerstellKostenUeberstunden()
733 {
734
735 assertEquals(0.0, Finanzierung.grenzHerstellKostenUeberstunden(0.0, 0.0, 0.0), 0.0000000001);
736 assertEquals(0.0, Finanzierung.grenzHerstellKostenUeberstunden(99.99, 100000.0, 400000.0), 0.0000000001);
737 assertEquals(1000.0, Finanzierung.grenzHerstellKostenUeberstunden(100.01, 100000.0, 100.0), 0.0000000001);
738 }
739
740 public void testGrenzHerstellKostenRohstoffe()
741 {
742
743 assertEquals(0.0, Finanzierung.grenzHerstellKostenRohstoffe(0.0, 0.0, 0.0), 0.0000000001);
744 assertEquals(1.0, Finanzierung.grenzHerstellKostenRohstoffe(99.99, 100000.0, 100000.0), 0.0000000001);
745 assertEquals(2.0, Finanzierung.grenzHerstellKostenRohstoffe(101.01, 400000.0, 200000.0), 0.0000000001);
746 }
747
748 public void testGrenzHerstellKostenQualitaetssicherung()
749 {
750
751 assertEquals(0.0, Finanzierung.grenzHerstellKostenQualitaetssicherung(0.0, 0.0, 0.0), 0.0000000001);
752 assertEquals(1.0, Finanzierung.grenzHerstellKostenQualitaetssicherung(99.99, 100000.0, 100000.0), 0.0000000001);
753 assertEquals(
754 2.0,
755 Finanzierung.grenzHerstellKostenQualitaetssicherung(100.01, 400000.0, 200000.0),
756 0.0000000001);
757 }
758
759 public void testGrenzHerstellKostenSchichtwechsel()
760 {
761 assertEquals(0.0, Finanzierung.grenzHerstellKostenSchichtwechsel(0.0, 0.0, 0.0), 0.0000000001);
762 assertEquals(0.0, Finanzierung.grenzHerstellKostenSchichtwechsel(99.99, 100000.0, 100000.0), 0.0000000001);
763 assertEquals(1.0, Finanzierung.grenzHerstellKostenSchichtwechsel(100.01, 100000.0, 100000.0), 0.0000000001);
764 assertEquals(100000.0, Finanzierung.grenzHerstellKostenSchichtwechsel(150.00, 100000.0, 0.0), 0.0000000001);
765 assertEquals(
766 100000.0,
767 Finanzierung.grenzHerstellKostenSchichtwechsel(150.00, 100000.0, -10000.0),
768 0.0000000001);
769 }
770
771 public void testGrenzHerstellKostenVerwaltung()
772 {
773
774 assertEquals(
775 0.0,
776 Finanzierung.grenzHerstellKostenVerwaltung(1.0, 99.99, 500000.0, 400000.0, verwaltungTabelle),
777 0.0000000001);
778 assertEquals(
779 250.0,
780 Finanzierung.grenzHerstellKostenVerwaltung(1.0, 100.01, 550000.0, 200.0, verwaltungTabelle),
781 0.0000000001);
782 assertEquals(
783 1000.0,
784 Finanzierung.grenzHerstellKostenVerwaltung(1.0, 200.01, 700000.0, 100.0, verwaltungTabelle),
785 0.0000000001);
786 assertEquals(
787 2.0,
788 Finanzierung.grenzHerstellKostenVerwaltung(1.0, 199.99, 600000.0, 25000.0, verwaltungTabelle),
789 0.0000000001);
790 }
791
792 public void testGrenzGewinn()
793 {
794 assertEquals(0.0, Finanzierung.grenzGewinn(0.0, 0.0, 0.0), 0.0000000001);
795 assertEquals(-0.10, Finanzierung.grenzGewinn(6.65, -2.15, -4.60), 0.0000000001);
796 assertEquals(-0.20, Finanzierung.grenzGewinn(6.65, -2.25, -4.60), 0.0000000001);
797 assertEquals(1.89, Finanzierung.grenzGewinn(6.65, -1.22, -3.54), 0.0000000001);
798 }
799
800 }