-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKilometerUmrechnerTest.java
More file actions
147 lines (101 loc) · 4.06 KB
/
KilometerUmrechnerTest.java
File metadata and controls
147 lines (101 loc) · 4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package de.mide.kilometer_umrechnung;
import org.junit.Test;
import org.junit.Assert;
/**
* Unit-Tests für Klasse {@code KilometerUmrechner}.
* <br><br>
*
* This file is licensed under the terms of the BSD 3-Clause License.
*/
public class KilometerUmrechnerTest {
/** Class/Code under Test (CUT), muss zu Beginn jeder Test-Methode erzeugt werden. */
private KilometerUmrechner _cut = null;
/**
* Tests für Aufruf Konstruktor der Klasse KilometerUmrechner mit unzulässigem
* String-Wert.
*/
@Test
public void illegalerKilometerWert() {
try {
_cut = new KilometerUmrechner("");
Assert.fail("Keine Exception für Konstruktor-Aufruf mit leerem String.");
}
catch (KilometerException ex) { /* Erwartete Exception wurde gefangen. */ }
try {
_cut = new KilometerUmrechner("0.0");
Assert.fail("Keine Exception für Konstruktor-Aufruf mit String \"0.0\".");
}
catch (KilometerException ex) { /* Erwartete Exception wurde gefangen. */ }
try {
_cut = new KilometerUmrechner("-1.23");
Assert.fail("Keine Exception für Konstruktor-Aufruf mit String \"-1.23\".");
}
catch (KilometerException ex) { /* Erwartete Exception wurde gefangen. */ }
}
/**
* Umrechnung von Kilometer in Englische Meilen.
*
* @throws KilometerException Test ist fehlgeschlagen
*/
@Test
public void happypath_englischeMeilen() throws KilometerException {
final double eingabeKilometer = 12.3;
final double erwartetesErgebnis = 12.3 / 1.609344;
_cut = new KilometerUmrechner(eingabeKilometer + "");
// Aufruf Methode under Test
double ergebnis = _cut.getMeilenEnglisch();
Assert.assertTrue( Math.abs(ergebnis - erwartetesErgebnis) < 0.01 );
}
/**
* Umrechnung von Kilometer in nautische Meilen (Seemeilen).
*
* @throws KilometerException Test ist fehlgeschlagen
*/
@Test
public void happypath_nautischeMeilen() throws KilometerException {
final double eingabeKilometer = 12.3;
final double erwartetesErgebnis = 12.3 / 1.852;
_cut = new KilometerUmrechner(eingabeKilometer + "");
// Aufruf Methode under Test
double ergebnis = _cut.getMeilenNautisch();
Assert.assertTrue( Math.abs(ergebnis - erwartetesErgebnis) < 0.01 );
}
/**
* Umrechnung von Kilometer in chinesische Meilen (Li).
*
* @throws KilometerException Test ist fehlgeschlagen
*/
@Test
public void happypath_chinesischeMeilen() throws KilometerException {
final double eingabeKilometer = 12.3;
final double erwartetesErgebnis = 12.3 / 0.5;
_cut = new KilometerUmrechner(eingabeKilometer + "");
// Aufruf Methode under Test
double ergebnis = _cut.getMeilenChinesisch();
Assert.assertTrue( Math.abs(ergebnis - erwartetesErgebnis) < 0.01 );
}
/**
* Vergleich Ausgabe String und Double.
*
* @throws KilometerException Test ist fehlgeschlagen
*/
@Test
public void ergebnisAlsString() throws KilometerException {
final double eingabeKilometer = 123.4;
double ergebnisDouble = 0.0;
String ergebnisString = "";
_cut = new KilometerUmrechner(eingabeKilometer + "");
// Test für englische Meilen
ergebnisDouble = _cut.getMeilenEnglisch();
ergebnisString = _cut.getMeilenEnglischAlsString();
Assert.assertTrue( ergebnisString.startsWith( (int) ergebnisDouble + "" ) );
// Test für nautische Meilen
ergebnisDouble = _cut.getMeilenNautisch();
ergebnisString = _cut.getMeilenNautischAlsString();
Assert.assertTrue( ergebnisString.startsWith( (int) ergebnisDouble + "" ) );
// Test für chinesische Meilen
ergebnisDouble = _cut.getMeilenChinesisch();
ergebnisString = _cut.getMeilenChinesischAlsString();
Assert.assertTrue( ergebnisString.startsWith( (int) ergebnisDouble + "" ) );
}
}