From a5d93ef33cc8f8379fc280f31a495d1592adf194 Mon Sep 17 00:00:00 2001 From: Zsombor Welker Date: Thu, 12 Sep 2024 18:50:46 +0200 Subject: [PATCH] fluent-builder: add failing test with multiple episodes --- .../com/kscs/util/test/PluginRunTest.java | 32 +++++++++++++++++++ plugin/src/test/resources/netex.xsd | 24 ++++++++++++++ plugin/src/test/resources/siri.xsd | 11 +++++++ 3 files changed, 67 insertions(+) create mode 100644 plugin/src/test/resources/netex.xsd diff --git a/plugin/src/test/java/com/kscs/util/test/PluginRunTest.java b/plugin/src/test/java/com/kscs/util/test/PluginRunTest.java index 929d3b2..66d17cf 100644 --- a/plugin/src/test/java/com/kscs/util/test/PluginRunTest.java +++ b/plugin/src/test/java/com/kscs/util/test/PluginRunTest.java @@ -24,6 +24,8 @@ package com.kscs.util.test; import java.io.IOException; +import java.net.URL; +import java.net.URLClassLoader; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -142,6 +144,36 @@ public void testGenerateSiri() throws Exception { ); } + @Test + public void testGenerateNetex() throws Exception { + final var subDir = "netex"; + final var episodeFile = generatedSourcesDir.resolve(subDir).resolve("siri.episode"); + final var compiledCodeSubDir = compiledCodeDir.resolve(subDir); + + generateAndCompile(subDir, + "-episode", episodeFile.toString(), + inFile("siri.xsd"), + "-Xfluent-builder" + ); + + ClassLoader previousClassLoader = Thread.currentThread().getContextClassLoader(); + ClassLoader testClassLoader = + URLClassLoader.newInstance(new URL[]{compiledCodeSubDir.toUri().toURL()}, previousClassLoader); + + try { + Thread.currentThread().setContextClassLoader(testClassLoader); + + runPlugin(subDir, + "-b", episodeFile.toString(), + inFile("netex.xsd"), + "-Xfluent-builder" + ); + compileTestCode(subDir); + } finally { + Thread.currentThread().setContextClassLoader(previousClassLoader); + } + } + @Test public void testGenerateAll() throws Exception { generateAndCompile("all","-b", inFile("binding-config.xjb"), diff --git a/plugin/src/test/resources/netex.xsd b/plugin/src/test/resources/netex.xsd new file mode 100644 index 0000000..9e89dfe --- /dev/null +++ b/plugin/src/test/resources/netex.xsd @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + diff --git a/plugin/src/test/resources/siri.xsd b/plugin/src/test/resources/siri.xsd index ea77fb8..c7958bd 100644 --- a/plugin/src/test/resources/siri.xsd +++ b/plugin/src/test/resources/siri.xsd @@ -2,6 +2,17 @@ + + + + + + Requested end time for subscription. + + + + +