From 180ede1fac64cb17d63ab3e6affac500034f070a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 6 Jun 2026 19:58:00 +0000 Subject: [PATCH 1/2] chore: migrate tests from JUnit 4 to JUnit 5, remove vintage engine --- pom.xml | 4 +- .../codegenerator/GoldenFileTest.java | 23 ++++++------ .../NestedComponentDelimiterTest.java | 37 +++++++++---------- .../codegenerator/OverwriteTest.java | 8 ++-- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/pom.xml b/pom.xml index 3b70cab..0b34e09 100644 --- a/pom.xml +++ b/pom.xml @@ -89,8 +89,8 @@ ${saxon.version} - org.junit.vintage - junit-vintage-engine + org.junit.jupiter + junit-jupiter ${junit.jupiter.version} test diff --git a/src/test/java/org/quickfixj/codegenerator/GoldenFileTest.java b/src/test/java/org/quickfixj/codegenerator/GoldenFileTest.java index 2065971..26ee077 100644 --- a/src/test/java/org/quickfixj/codegenerator/GoldenFileTest.java +++ b/src/test/java/org/quickfixj/codegenerator/GoldenFileTest.java @@ -1,7 +1,7 @@ package org.quickfixj.codegenerator; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; import java.io.File; import java.io.IOException; @@ -12,10 +12,9 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; /** * Golden-file regression test for the code generator. @@ -35,8 +34,8 @@ */ public class GoldenFileTest { - @Rule - public TemporaryFolder tempFolder = new TemporaryFolder(); + @TempDir + File tempFolder; private File schemaDirectory = new File("./src/main/resources/org/quickfixj/codegenerator"); private File goldenBase = new File("./src/test/resources/golden"); @@ -46,7 +45,7 @@ public class GoldenFileTest { private MessageCodeGenerator generator; - @Before + @BeforeEach public void setup() { generator = new MessageCodeGenerator(); } @@ -57,7 +56,8 @@ public void setup() { @Test public void testFix42GenerationMatchesGolden() throws Exception { - File outputDir = tempFolder.newFolder("fix42"); + File outputDir = new File(tempFolder, "fix42"); + outputDir.mkdir(); generateCode(fix42DictFile, "FIX42", "quickfix.fix42", outputDir); assertMatchesGolden(new File(goldenBase, "fix42"), outputDir, "FIX42"); } @@ -68,7 +68,8 @@ public void testFix42GenerationMatchesGolden() throws Exception { @Test public void testFix44GenerationMatchesGolden() throws Exception { - File outputDir = tempFolder.newFolder("fix44"); + File outputDir = new File(tempFolder, "fix44"); + outputDir.mkdir(); generateCode(fix44DictFile, "FIX44", "quickfix.fix44", outputDir); assertMatchesGolden(new File(goldenBase, "fix44"), outputDir, "FIX44"); } diff --git a/src/test/java/org/quickfixj/codegenerator/NestedComponentDelimiterTest.java b/src/test/java/org/quickfixj/codegenerator/NestedComponentDelimiterTest.java index df19862..b3cdcff 100644 --- a/src/test/java/org/quickfixj/codegenerator/NestedComponentDelimiterTest.java +++ b/src/test/java/org/quickfixj/codegenerator/NestedComponentDelimiterTest.java @@ -1,16 +1,15 @@ package org.quickfixj.codegenerator; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; /** * Test for issue #1084: Verify that MessageCodeGenerator correctly sets the @@ -19,8 +18,8 @@ */ public class NestedComponentDelimiterTest { - @Rule - public TemporaryFolder tempFolder = new TemporaryFolder(); + @TempDir + File tempFolder; private File dictFile = new File("./src/test/resources/org/quickfixj/codegenerator/NestedComponentsTest.xml"); private File schemaDirectory = new File("./src/main/resources/org/quickfixj/codegenerator"); @@ -28,7 +27,7 @@ public class NestedComponentDelimiterTest { private String messagePackage = "quickfix.test"; private MessageCodeGenerator generator; - @Before + @BeforeEach public void setup() throws IOException { generator = new MessageCodeGenerator(); } @@ -41,7 +40,7 @@ public void testNestedComponentGroupDelimiter() throws Exception { task.setSpecification(dictFile); task.setTransformDirectory(schemaDirectory); task.setMessagePackage(messagePackage); - task.setOutputBaseDirectory(tempFolder.getRoot()); + task.setOutputBaseDirectory(tempFolder); task.setFieldPackage(fieldPackage); task.setOverwrite(true); task.setOrderedFields(true); @@ -50,29 +49,29 @@ public void testNestedComponentGroupDelimiter() throws Exception { generator.generate(task); // Verify that the NestedTwice component was generated - String componentPath = tempFolder.getRoot().getAbsolutePath() + "/quickfix/test/component/NestedTwice.java"; + String componentPath = tempFolder.getAbsolutePath() + "/quickfix/test/component/NestedTwice.java"; File componentFile = new File(componentPath); - assertTrue("NestedTwice component file should exist", componentFile.exists()); + assertTrue(componentFile.exists(), "NestedTwice component file should exist"); // Read the generated file and check for the correct constructor String fileContent = readFileContent(componentFile); // Verify the NoEntries group class is present - assertTrue("NoEntries group class should be present", - fileContent.contains("public static class NoEntries extends Group")); + assertTrue(fileContent.contains("public static class NoEntries extends Group"), + "NoEntries group class should be present"); // Verify the ORDER array is present - assertTrue("ORDER array should be present", - fileContent.contains("private static final int[] ORDER =")); + assertTrue(fileContent.contains("private static final int[] ORDER ="), + "ORDER array should be present"); // Verify the constructor has the correct delimiter (58 is the field number for Text) // The constructor should be: super(20001, 58, ORDER); - assertTrue("Constructor should contain correct delimiter", - fileContent.contains("super(20001, 58, ORDER);")); + assertTrue(fileContent.contains("super(20001, 58, ORDER);"), + "Constructor should contain correct delimiter"); // Also verify it doesn't have an empty delimiter (the bug case) - assertFalse("Constructor should not have empty delimiter", - fileContent.contains("super(20001, , ORDER);")); + assertFalse(fileContent.contains("super(20001, , ORDER);"), + "Constructor should not have empty delimiter"); } private String readFileContent(File file) throws FileNotFoundException { diff --git a/src/test/java/org/quickfixj/codegenerator/OverwriteTest.java b/src/test/java/org/quickfixj/codegenerator/OverwriteTest.java index a5358b0..8469203 100644 --- a/src/test/java/org/quickfixj/codegenerator/OverwriteTest.java +++ b/src/test/java/org/quickfixj/codegenerator/OverwriteTest.java @@ -1,6 +1,6 @@ package org.quickfixj.codegenerator; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; import java.io.File; import java.io.FileNotFoundException; @@ -8,8 +8,8 @@ import java.util.Scanner; import org.apache.maven.plugin.MojoExecutionException; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.apache.commons.io.FileUtils; public class OverwriteTest { @@ -23,7 +23,7 @@ public class OverwriteTest { private boolean decimal = true; private MessageCodeGenerator generator; - @Before + @BeforeEach public void setup() throws IOException { if (outputDirectory.exists()){ FileUtils.cleanDirectory(outputDirectory); From 1c1fbfd229c53742ea5c3c7013ed93e583baa233 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 6 Jun 2026 19:59:19 +0000 Subject: [PATCH 2/2] chore: assert mkdir() return value in GoldenFileTest --- .../java/org/quickfixj/codegenerator/GoldenFileTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/quickfixj/codegenerator/GoldenFileTest.java b/src/test/java/org/quickfixj/codegenerator/GoldenFileTest.java index 26ee077..8731337 100644 --- a/src/test/java/org/quickfixj/codegenerator/GoldenFileTest.java +++ b/src/test/java/org/quickfixj/codegenerator/GoldenFileTest.java @@ -12,6 +12,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -57,7 +58,7 @@ public void setup() { @Test public void testFix42GenerationMatchesGolden() throws Exception { File outputDir = new File(tempFolder, "fix42"); - outputDir.mkdir(); + Assertions.assertTrue(outputDir.mkdir()); generateCode(fix42DictFile, "FIX42", "quickfix.fix42", outputDir); assertMatchesGolden(new File(goldenBase, "fix42"), outputDir, "FIX42"); } @@ -69,7 +70,7 @@ public void testFix42GenerationMatchesGolden() throws Exception { @Test public void testFix44GenerationMatchesGolden() throws Exception { File outputDir = new File(tempFolder, "fix44"); - outputDir.mkdir(); + Assertions.assertTrue(outputDir.mkdir()); generateCode(fix44DictFile, "FIX44", "quickfix.fix44", outputDir); assertMatchesGolden(new File(goldenBase, "fix44"), outputDir, "FIX44"); }