This is an automated email from the ASF dual-hosted git repository.

afs pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit eab293a31f966714abe06c0eb52096da06b1376c
Author: Andy Seaborne <[email protected]>
AuthorDate: Mon Sep 7 15:12:07 2026 +0100

    GH-3236: Convert TestDefaultModel to JUnit6
---
 .../java/org/apache/jena/rdf/model/TS6_Model.java  | 40 +++++++++++++++
 ...DefaultModel.java => TestDefaultModel_JU6.java} | 57 ++++++++++++----------
 .../org/apache/jena/test/JenaCoreTestAll_JU4.java  |  2 +-
 .../org/apache/jena/test/JenaCoreTestAll_JU6.java  |  3 ++
 4 files changed, 76 insertions(+), 26 deletions(-)

diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/TS6_Model.java 
b/jena-core/src/test/java/org/apache/jena/rdf/model/TS6_Model.java
new file mode 100644
index 0000000000..3949795fd3
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/rdf/model/TS6_Model.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *   SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.apache.jena.rdf.model;
+
+import org.junit.platform.suite.api.BeforeSuite;
+import org.junit.platform.suite.api.SelectClasses;
+import org.junit.platform.suite.api.Suite;
+
+import org.apache.jena.test.JenaTestLib;
+
+@Suite
+@SelectClasses({
+    TestDefaultModel_JU6.class
+})
+
+public class TS6_Model {
+    @BeforeSuite
+    public static void beforeSuite() {
+        JenaTestLib.setup();
+    }
+}
diff --git 
a/jena-core/src/test/java/org/apache/jena/rdf/model/TestDefaultModel.java 
b/jena-core/src/test/java/org/apache/jena/rdf/model/TestDefaultModel_JU6.java
similarity index 91%
rename from 
jena-core/src/test/java/org/apache/jena/rdf/model/TestDefaultModel.java
rename to 
jena-core/src/test/java/org/apache/jena/rdf/model/TestDefaultModel_JU6.java
index e24b578dd5..cb71d48a24 100644
--- a/jena-core/src/test/java/org/apache/jena/rdf/model/TestDefaultModel.java
+++ 
b/jena-core/src/test/java/org/apache/jena/rdf/model/TestDefaultModel_JU6.java
@@ -21,8 +21,12 @@
 
 package org.apache.jena.rdf.model;
 
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
 import org.apache.jena.graph.GraphTestLib;
 import org.apache.jena.graph.Node;
 import org.apache.jena.graph.Triple;
@@ -31,17 +35,9 @@ import org.apache.jena.rdf.model.impl.ModelCom;
 import org.apache.jena.shared.PropertyNotFoundException;
 import org.apache.jena.test.JenaTestLib;
 
-public class TestDefaultModel extends TestCase {
-
-    public TestDefaultModel(String name) {
-        super(name);
-    }
+public class TestDefaultModel_JU6 {
 
-    static public TestSuite suite() {
-        TestSuite ts = new TestSuite();
-        ts.addTestSuite(TestDefaultModel.class);
-        return ts;
-    }
+    static { JenaTestLib.setup(); }
 
     public Model newModel() {
         return ModelFactory.createDefaultModel();
@@ -49,39 +45,44 @@ public class TestDefaultModel extends TestCase {
 
     private Model model;
 
-    @Override
+    @BeforeEach
     public void setUp() {
         model = newModel();
     }
 
-    @Override
+    @AfterEach
     public void tearDown() {
         model.close();
     }
 
+    @Test
     public void testTransactions() {
         if ( model.supportsTransactions() )
             model.executeInTxn(() -> {});
     }
 
+    @Test
     public void testCreateResourceFromNode() {
         RDFNode S = model.getRDFNode(NodeCreateUtils.create("spoo:S"));
         JenaTestLib.assertInstanceOf(Resource.class, S);
         assertEquals("spoo:S", ((Resource)S).getURI());
     }
 
+    @Test
     public void testCreateLiteralFromNode() {
         RDFNode S = model.getRDFNode(NodeCreateUtils.create("42"));
         JenaTestLib.assertInstanceOf(Literal.class, S);
         assertEquals("42", ((Literal)S).getLexicalForm());
     }
 
+    @Test
     public void testCreateBlankFromNode() {
         RDFNode S = model.getRDFNode(NodeCreateUtils.create("_Blank"));
         JenaTestLib.assertInstanceOf(Resource.class, S);
         assertEquals(new AnonId("_Blank"), ((Resource)S).getId());
     }
 
+    @Test
     public void testIsEmpty() {
         Statement S1 = ModelTestLib.statement(model, "model rdf:type 
nonEmpty");
         Statement S2 = ModelTestLib.statement(model, "pinky rdf:type Pig");
@@ -96,6 +97,7 @@ public class TestDefaultModel extends TestCase {
         assertTrue(model.isEmpty());
     }
 
+    @Test
     public void testContainsResource() {
         ModelTestLib.modelAdd(model, "x R y; _a P _b");
         assertTrue(model.containsResource(ModelTestLib.resource(model, "x")));
@@ -112,6 +114,7 @@ public class TestDefaultModel extends TestCase {
      * Test the new version of getProperty(), which delivers null for not-found
      * properties.
      */
+    @Test
     public void testGetProperty() {
         ModelTestLib.modelAdd(model, "x P a; x P b; x R c");
         Resource x = ModelTestLib.resource(model, "x");
@@ -125,6 +128,7 @@ public class TestDefaultModel extends TestCase {
      * Tests {@link Resource#getProperty(Property, String)} and
      * {@link Resource#getRequiredProperty(Property, String)}.
      */
+    @Test
     public void testGetPropertyWithLanguage() {
         model.add(ModelTestLib.resource(model, "x"), 
ModelTestLib.property(model, "P"), "a", "pt");
         model.add(ModelTestLib.resource(model, "x"), 
ModelTestLib.property(model, "P"), "b", "en");
@@ -145,16 +149,16 @@ public class TestDefaultModel extends TestCase {
             final Resource x = ModelTestLib.resource(model, "x");
             assertEquals("a", 
x.getRequiredProperty(ModelTestLib.property(model, "P"), "pt").getString());
             assertEquals("b", 
x.getRequiredProperty(ModelTestLib.property(model, "P"), "en").getString());
-            try {
-                x.getRequiredProperty(ModelTestLib.property(model, "P"), "ja");
-                fail("Must thrown PropertyNotFoundException.");
-            } catch (PropertyNotFoundException e) {}
+            assertThrows(PropertyNotFoundException.class,
+                         
()->x.getRequiredProperty(ModelTestLib.property(model, "P"), "ja"),
+                         "Must thrown PropertyNotFoundException.");
             final Literal l = 
x.getRequiredProperty(ModelTestLib.property(model, "R")).getLiteral();
             assertTrue("d".equals(l.getString()) || "e".equals(l.getString()));
             assertTrue("de".equals(l.getLanguage()) || 
"fr".equals(l.getLanguage()));
         }
     }
 
+    @Test
     public void testToStatement() {
         Triple t = GraphTestLib.triple("a P b");
         Statement s = model.asStatement(t);
@@ -163,6 +167,7 @@ public class TestDefaultModel extends TestCase {
         assertEquals(GraphTestLib.node("b"), s.getObject().asNode());
     }
 
+    @Test
     public void testAsRDF() {
         testPresentAsRDFNode(GraphTestLib.node("a"), Resource.class);
         testPresentAsRDFNode(GraphTestLib.node("17"), Literal.class);
@@ -175,21 +180,21 @@ public class TestDefaultModel extends TestCase {
         JenaTestLib.assertInstanceOf(nodeClass, r);
     }
 
+    @Test
     public void testURINodeAsResource() {
         Node n = GraphTestLib.node("a");
         Resource r = model.wrapAsResource(n);
         assertSame(n, r.asNode());
     }
 
+    @Test
     public void testLiteralNodeAsResourceFails() {
-        try {
-            model.wrapAsResource(GraphTestLib.node("17"));
-            fail("should fail to convert literal to Resource");
-        } catch (UnsupportedOperationException e) {
-            JenaTestLib.pass();
-        }
+        assertThrows(UnsupportedOperationException.class,
+                     ()->model.wrapAsResource(GraphTestLib.node("17")),
+                     "should fail to convert literal to Resource");
     }
 
+    @Test
     public void testRemoveAll() {
         testRemoveAll("");
         testRemoveAll("a RR b");
@@ -200,7 +205,7 @@ public class TestDefaultModel extends TestCase {
     protected void testRemoveAll(String statements) {
         ModelTestLib.modelAdd(model, statements);
         assertSame(model, model.removeAll());
-        assertEquals("model should have size 0 following removeAll(): ", 0, 
model.size());
+        assertEquals(0, model.size(), "model should have size 0 following 
removeAll(): ");
     }
 
     /**
@@ -229,6 +234,7 @@ public class TestDefaultModel extends TestCase {
      * mean emptiness isn't available. This is why we go round the houses and 
test
      * that expected ~= initialContent + addedStuff - removed - initialContent.
      */
+    @Test
     public void testRemoveSPO() {
         ModelCom mc = (ModelCom)ModelFactory.createDefaultModel();
         for ( String[] aCase : cases ) {
@@ -249,6 +255,7 @@ public class TestDefaultModel extends TestCase {
         }
     }
 
+    @Test
     public void testIsClosedDelegatedToGraph() {
         Model m = newModel();
         assertFalse(m.isClosed());
diff --git 
a/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU4.java 
b/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU4.java
index bd789ea41f..4810dd3122 100644
--- a/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU4.java
+++ b/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU4.java
@@ -53,7 +53,7 @@ public class JenaCoreTestAll_JU4 extends TestCase {
         // ** COMPLEX
         addTest(ts,  "Model1",              
org.apache.jena.rdf.model.TS3_Model1.suite());
         // ** COMPLEX
-        addTest(ts,  "Default Model",       
org.apache.jena.rdf.model.TestDefaultModel.suite());
+//JU6        addTest(ts,  "Default Model",       
org.apache.jena.rdf.model.TestDefaultModel.suite());
 
         // Test suite building
         addTest(ts,  "XML Input [ARP1]",    
org.apache.jena.rdfxml.arp1tests.TS3_xmlinput1.suite());
diff --git 
a/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU6.java 
b/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU6.java
index 5a2c797abe..22962c3246 100644
--- a/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU6.java
+++ b/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU6.java
@@ -34,6 +34,7 @@ import org.apache.jena.mem.TS6_GraphMem;
 import org.apache.jena.memvalue.TS6_GraphMemValue;
 import org.apache.jena.ontology.impl.TS6_ont;
 import org.apache.jena.ontology.makers.TS6_ModelMakers;
+import org.apache.jena.rdf.model.TS6_Model;
 import org.apache.jena.rdfxml.xmloutput.TS6_xmloutput;
 import org.apache.jena.shared.TS6_SharedPackage;
 import org.apache.jena.util.TS6_coreutil;
@@ -55,6 +56,8 @@ import org.apache.jena.vocabulary.TS6_Vocabularies;
     TS6_GraphMem.class,
     TS6_GraphMemValue.class,
 
+    TS6_Model.class,
+
     TS6_xmloutput.class,
 
     TS6_coreutil.class,

Reply via email to