Skip to content

Commit 828f8de

Browse files
committed
chore(pom): Update versions and dependencies
1 parent 870a374 commit 828f8de

File tree

3 files changed

+71
-10
lines changed

3 files changed

+71
-10
lines changed

pom.xml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55

66
<groupId>com.lzw</groupId>
77
<artifactId>solutions</artifactId>
8-
<version>1.0-SNAPSHOT</version>
8+
<version>1.0</version>
99
<packaging>jar</packaging>
1010

1111
<name>Algorithm Solutions</name>
1212
<description>Consolidated project for algorithm solutions from multiple platforms</description>
1313

1414
<properties>
15-
<maven.compiler.source>21</maven.compiler.source>
16-
<maven.compiler.target>21</maven.compiler.target>
15+
<maven.compiler.source>24</maven.compiler.source>
16+
<maven.compiler.target>24</maven.compiler.target>
1717
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1818
<problem>p140</problem>
1919
</properties>
@@ -22,15 +22,16 @@
2222
<dependency>
2323
<groupId>org.junit.jupiter</groupId>
2424
<artifactId>junit-jupiter-api</artifactId>
25-
<version>5.9.2</version>
25+
<version>6.0.0-M1</version>
2626
<scope>test</scope>
2727
</dependency>
2828
<dependency>
2929
<groupId>org.junit.jupiter</groupId>
3030
<artifactId>junit-jupiter-engine</artifactId>
31-
<version>5.9.2</version>
31+
<version>6.0.0-M1</version>
3232
<scope>test</scope>
3333
</dependency>
34+
3435
</dependencies>
3536

3637
<build>
@@ -46,7 +47,7 @@
4647
<plugin>
4748
<groupId>org.apache.maven.plugins</groupId>
4849
<artifactId>maven-compiler-plugin</artifactId>
49-
<version>3.13.0</version>
50+
<version>3.14.0</version>
5051
<configuration>
5152
<source>${maven.compiler.source}</source>
5253
<target>${maven.compiler.target}</target>
@@ -90,7 +91,7 @@
9091
<dependency>
9192
<groupId>com.puppycrawl.tools</groupId>
9293
<artifactId>checkstyle</artifactId>
93-
<version>10.25.0</version>
94+
<version>10.26.1</version>
9495
</dependency>
9596
</dependencies>
9697
<configuration>
@@ -111,13 +112,13 @@
111112
<plugin>
112113
<groupId>org.apache.maven.plugins</groupId>
113114
<artifactId>maven-surefire-plugin</artifactId>
114-
<version>3.0.0-M7</version>
115+
<version>3.5.3</version>
115116
</plugin>
116117

117118
<plugin>
118119
<groupId>org.codehaus.mojo</groupId>
119120
<artifactId>exec-maven-plugin</artifactId>
120-
<version>3.5.0</version>
121+
<version>3.5.1</version>
121122
<configuration>
122123
<executable>bash</executable>
123124
<arguments>

src/main/java/com/lzw/solutions/uva/p10616/MainPlus.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.lzw.solutions.uva.p10616;
22

3-
import java.io.*;
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.io.PrintWriter;
47
import java.util.Arrays;
58
import java.util.StringTokenizer;
69

src/test/java/MavenTestRunner.java

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import java.io.BufferedReader;
2+
import java.io.InputStreamReader;
3+
import java.util.Arrays;
4+
import java.util.Collection;
5+
import java.util.List;
6+
import java.util.stream.Collectors;
7+
import org.junit.jupiter.api.Assertions;
8+
import org.junit.jupiter.api.DynamicTest;
9+
import org.junit.jupiter.api.TestFactory;
10+
11+
public class MavenTestRunner {
12+
13+
private static final List<String> PROBLEMS =
14+
Arrays.asList("p138", "p140"); // Add more problems here as needed: "p141", "p152"
15+
16+
@TestFactory
17+
Collection<DynamicTest> runMavenExecTests() {
18+
return PROBLEMS.stream()
19+
.map(problem -> DynamicTest.dynamicTest("Test problem: " + problem, () -> {
20+
String command = String.format("mvn exec:exec -Dproblem=%s", problem);
21+
System.out.println("Executing command: " + command);
22+
23+
Process process = Runtime.getRuntime().exec(command);
24+
25+
// Capture output and error streams
26+
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
27+
BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
28+
29+
StringBuilder output = new StringBuilder();
30+
String line;
31+
while ((line = reader.readLine()) != null) {
32+
output.append(line).append("\n");
33+
}
34+
reader.close();
35+
36+
StringBuilder errorOutput = new StringBuilder();
37+
while ((line = errorReader.readLine()) != null) {
38+
errorOutput.append(line).append("\n");
39+
}
40+
errorReader.close();
41+
42+
int exitCode = process.waitFor();
43+
44+
System.out.println("Command output for " + problem + ":\n" + output.toString());
45+
if (errorOutput.length() > 0) {
46+
System.err.println("Command error for " + problem + ":\n" + errorOutput.toString());
47+
}
48+
49+
Assertions.assertEquals(
50+
0,
51+
exitCode,
52+
"Maven command failed for problem: " + problem + "\nError output:\n"
53+
+ errorOutput.toString());
54+
}))
55+
.collect(Collectors.toList());
56+
}
57+
}

0 commit comments

Comments
 (0)