variables-and-types - Source
Source code for variables-and-types
Verzeichnis-Struktur
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| variables-and-types
├── src
│ ├── main
│ │ └── java
│ │ └── ch
│ │ └── itninja
│ │ └── labs
│ │ ├── basicexercises
│ │ │ ├── HelloName.java
│ │ │ └── TravelReport.java
│ │ └── Main.java
│ └── test
│ └── java
│ └── ch
│ └── itninja
│ └── labs
│ ├── basicexercises
│ │ ├── HelloNameTest.java
│ │ └── TravelReportTest.java
│ └── util
│ └── ItNinjaOutput.java
├── pom.xml
└── README.md
|
Dateien in variables-and-types
pom.xml
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
| <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ch.itninja</groupId>
<artifactId>itninja-labs-01-basicexercises</artifactId>
<version>1.0.0</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
</properties>
<dependencies>
<!-- JUnit 5 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<release>17</release>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- Testing -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.5</version>
</plugin>
</plugins>
</build>
</project>
|
README.md
Not able to display content!
src\main\java\ch\itninja\labs
Main.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| package ch.itninja.labs;
import ch.itninja.labs.basicexercises.HelloName;
import ch.itninja.labs.basicexercises.TravelReport;
/**
* Entry point for the It-Ninja basic exercises.
*/
public class Main {
public static void main(String[] args) {
HelloName.printHelloName();
TravelReport.printTravelReport();
}
}
|
basicexercises
HelloName.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| package ch.itninja.labs.basicexercises;
/**
* Utility class providing methods for basic Hello Name output.
*/
public class HelloName {
private HelloName() {
// Prevent instantiation
}
/**
* Erstelle eine Variable, welche deinen Namen beinhaltet.
* Gib Hello [name] auf der Konsole aus.
*/
public static void printHelloName(){
// IT-Ninja: Füge hier Deinen Code ein...
}
}
|
TravelReport.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| package ch.itninja.labs.basicexercises;
/**
* Gibt einen Reisebericht eines it-ninjas formatiert mit printf aus.
*/
public class TravelReport {
private TravelReport() {
// Prevent instantiation
}
public static void printTravelReport() {
// IT-Ninja: Füge hier Deinen Code ein...
}
}
|
src\test\java\ch\itninja\labs\basicexercises
HelloNameTest.java
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
| package ch.itninja.labs.basicexercises;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import ch.itninja.labs.util.ItNinjaOutput;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
class HelloNameTest {
@Test
void givenPrintHelloName_whenCalled_thenOutputStartsWithHello() {
// GIVEN
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream originalOut = System.out;
System.setOut(new PrintStream(outputStream));
try {
// WHEN
HelloName.printHelloName();
} finally {
System.setOut(originalOut);
}
// THEN
String output = outputStream.toString().trim();
assertTrue(output.startsWith("Hello "), "Output should start with 'Hello '");
ItNinjaOutput.PrintItNinjaOutput("HelloName", "", output);
}
}
|
TravelReportTest.java
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
| package ch.itninja.labs.basicexercises;
import ch.itninja.labs.util.ItNinjaOutput;
import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class TravelReportTest {
@Test
void givenPrintTravelReport_whenCalled_thenOutputShowsExpectedReport() {
// GIVEN
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream originalOut = System.out;
System.setOut(new PrintStream(outputStream));
try {
// WHEN
TravelReport.printTravelReport();
} finally {
System.setOut(originalOut);
}
// THEN
String expectedReport = new StringBuilder()
.append("Reise Report – Takeshi, Codename ShadowFox\n")
.append("Datum der Abreise: 26. Juli 2025\n")
.append("Mission: Code-Review\n")
.append("Startpunkt: Lausanne\n")
.append("Zielort: St. Gallen\n")
.append("Abfahrt: 06:14 Uhr\n")
.append("Ankunft: 09:07 Uhr\n")
.append("Zwischenhalte: 5\n")
.append("Reisekosten: 51.80 CHF\n\n")
.append("ShadowFox nutzte die 1. Klasse am 26. Juli 2025, um sich auf die anstehende Code-Review ")
.append("vorzubereiten. Mit einem Akku-Ladestand von 92% und 2 mitgeführten Laptops war er bestens ")
.append("gerüstet. Die Mission wurde erfolgreich abgeschlossen. Die Reisekosten sind in CHF.")
.toString();
// Make output independent of linux or windows line endings
String output = outputStream
.toString()
.trim()
.replaceAll("\r\n", "\n")
.replaceAll("\r", "\n");
assertEquals(expectedReport, output, "Output is not as expected");
ItNinjaOutput.PrintItNinjaOutput("TravelReport", "TravelReport.printTravelReport();", output);
}
}
|
src\test\java\ch\itninja\labs\util
ItNinjaOutput.java
1
2
3
4
5
6
7
8
9
10
11
12
| package ch.itninja.labs.util;
public class ItNinjaOutput {
public static void PrintItNinjaOutput(String lab, String input, String output) {
System.out.println("<itninja input lab=\""+lab+"\">");
System.out.println(input);
System.out.println("</itninja>");
System.out.println("<itninja output lab=\""+lab+"\">");
System.out.println(output);
System.out.println("</itninja>");
}
}
|