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 ec739a53b2ba3c2853725fbcc7a21675ab5dcce1
Author: Andy Seaborne <[email protected]>
AuthorDate: Mon Sep 7 14:58:43 2026 +0100

    GH-3236: Convert EnhNode testing to JUnit6
---
 .../enhanced/{TestProperty.java => TS6_enh.java}   |  23 ++-
 .../enhanced/{TestAllImpl.java => T_AllImpl.java}  |  26 +--
 .../{TestCommonImpl.java => T_CommonImpl.java}     |  20 +-
 .../jena/enhanced/{TestModel.java => T_Model.java} |   8 +-
 .../{TestModelImpl.java => T_ModelImpl.java}       |  18 +-
 .../jena/enhanced/{TestNode.java => T_Node.java}   |  10 +-
 .../enhanced/{TestObject.java => T_Object.java}    |   4 +-
 .../{TestObjectImpl.java => T_ObjectImpl.java}     |  16 +-
 .../{TestProperty.java => T_Property.java}         |   6 +-
 .../{TestPropertyImpl.java => T_PropertyImpl.java} |  14 +-
 .../enhanced/{TestSubject.java => T_Subject.java}  |   6 +-
 .../{TestSubjectImpl.java => T_SubjectImpl.java}   |  14 +-
 .../enhanced/{TS3_enh.java => TestEnhanced.java}   | 226 +++++++++++----------
 .../org/apache/jena/test/JenaCoreTestAll_JU4.java  |   2 +-
 .../org/apache/jena/test/JenaCoreTestAll_JU6.java  |   3 +
 15 files changed, 206 insertions(+), 190 deletions(-)

diff --git a/jena-core/src/test/java/org/apache/jena/enhanced/TestProperty.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/TS6_enh.java
similarity index 71%
copy from jena-core/src/test/java/org/apache/jena/enhanced/TestProperty.java
copy to jena-core/src/test/java/org/apache/jena/enhanced/TS6_enh.java
index 7b4ab3d4a1..0e1edba40e 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestProperty.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/TS6_enh.java
@@ -21,13 +21,20 @@
 
 package org.apache.jena.enhanced;
 
-import org.apache.jena.rdf.model.RDFNode;
+import org.junit.platform.suite.api.BeforeSuite;
+import org.junit.platform.suite.api.SelectClasses;
+import org.junit.platform.suite.api.Suite;
 
-/**
- * @see TestObject
- */
-public interface TestProperty extends RDFNode, TestNode {  
-   
-    boolean isProperty();
-    TestObject anObject();
+import org.apache.jena.test.JenaTestLib;
+
+@Suite
+@SelectClasses({
+    TestEnhanced.class
+})
+
+public class TS6_enh {
+    @BeforeSuite
+    public static void beforeSuite() {
+        JenaTestLib.setup();
+    }
 }
diff --git a/jena-core/src/test/java/org/apache/jena/enhanced/TestAllImpl.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_AllImpl.java
similarity index 77%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TestAllImpl.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_AllImpl.java
index 0ec843c748..eee7d43d09 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestAllImpl.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_AllImpl.java
@@ -23,7 +23,7 @@ package org.apache.jena.enhanced;
 import org.apache.jena.graph.*;
 import org.apache.jena.rdf.model.*;
 
-public class TestAllImpl extends TestCommonImpl implements TestSubject, 
TestProperty, TestObject {
+public class T_AllImpl extends T_CommonImpl implements T_Subject, T_Property, 
T_Object {
 
     public static final Implementation factory = new Implementation() {
     @Override
@@ -31,12 +31,12 @@ public class TestAllImpl extends TestCommonImpl implements 
TestSubject, TestProp
         { return true; }
     @Override
     public EnhNode wrap(Node n,EnhGraph eg) {
-        return new TestAllImpl(n,eg);
+        return new T_AllImpl(n,eg);
     }
 };
 
-    /** Creates a new instance of TestAllImpl */
-    private TestAllImpl(Node n,EnhGraph eg) {
+    /** Creates a new instance of T_AllImpl */
+    private T_AllImpl(Node n,EnhGraph eg) {
         super( n, eg );
     }
 
@@ -44,9 +44,9 @@ public class TestAllImpl extends TestCommonImpl implements 
TestSubject, TestProp
         {
         // return convertTo( t ) != null;
         return
-            t == TestProperty.class ? isProperty()
-            : t == TestSubject.class ? isSubject()
-            : t == TestObject.class ? isObject()
+            t == T_Property.class ? isProperty()
+            : t == T_Subject.class ? isSubject()
+            : t == T_Object.class ? isObject()
             : false
            ;
         }
@@ -67,24 +67,24 @@ public class TestAllImpl extends TestCommonImpl implements 
TestSubject, TestProp
     }
 
     @Override
-    public TestObject anObject() {
+    public T_Object anObject() {
         if (!isProperty())
             throw new IllegalStateException("Node is not the property of a 
triple.");
-        return 
enhGraph.getNodeAs(findPredicate().getObject(),TestObject.class);
+        return enhGraph.getNodeAs(findPredicate().getObject(),T_Object.class);
     }
 
     @Override
-    public TestProperty aProperty() {
+    public T_Property aProperty() {
         if (!isSubject())
             throw new IllegalStateException("Node is not the subject of a 
triple.");
-        return 
enhGraph.getNodeAs(findSubject().getPredicate(),TestProperty.class);
+        return 
enhGraph.getNodeAs(findSubject().getPredicate(),T_Property.class);
     }
 
     @Override
-    public TestSubject aSubject() {
+    public T_Subject aSubject() {
         if (!isObject())
             throw new IllegalStateException("Node is not the object of a 
triple.");
-        return enhGraph.getNodeAs(findObject().getSubject(),TestSubject.class);
+        return enhGraph.getNodeAs(findObject().getSubject(),T_Subject.class);
     }
 
     @Override
diff --git 
a/jena-core/src/test/java/org/apache/jena/enhanced/TestCommonImpl.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_CommonImpl.java
similarity index 84%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TestCommonImpl.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_CommonImpl.java
index 104b9e3cbb..bdb8e8eb9d 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestCommonImpl.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_CommonImpl.java
@@ -25,15 +25,15 @@ import org.apache.jena.rdf.model.*;
 import org.apache.jena.shared.JenaException;
 import org.apache.jena.util.iterator.*;
 
-class TestCommonImpl extends EnhNode implements TestNode {
+class T_CommonImpl extends EnhNode implements T_Node {
 
-    /** Creates new TestCommonImpl */
-    TestCommonImpl(Node n, EnhGraph m ) {
+    /** Creates new T_CommonImpl */
+    T_CommonImpl(Node n, EnhGraph m ) {
         super(n,m);
     }
 
     /**
-       We can't return TestModel now, because it clashes with the getModel()
+       We can't return T_Model now, because it clashes with the getModel()
        in RDFNode, which we have to inherit because of the personality tests.
        Fortunately the EnhGraph test set doesn't /need/ getModel, so we give
        it return type Model and throw an exception if it's ever called.
@@ -71,18 +71,18 @@ class TestCommonImpl extends EnhNode implements TestNode {
         // Convenience routines, that wrap the generic
         // routines from EnhNode.
         @Override
-        public TestSubject asSubject() {
-            return asInternal(TestSubject.class);
+        public T_Subject asSubject() {
+            return asInternal(T_Subject.class);
         }
 
         @Override
-        public TestProperty asProperty() {
-            return asInternal(TestProperty.class);
+        public T_Property asProperty() {
+            return asInternal(T_Property.class);
         }
 
         @Override
-        public TestObject asObject() {
-            return asInternal(TestObject.class);
+        public T_Object asObject() {
+            return asInternal(T_Object.class);
         }
 
         public RDFNode inModel(Model m) {
diff --git a/jena-core/src/test/java/org/apache/jena/enhanced/TestModel.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_Model.java
similarity index 90%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TestModel.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_Model.java
index ea1180e329..853b6b88aa 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestModel.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_Model.java
@@ -26,9 +26,9 @@ package org.apache.jena.enhanced;
  * It allows you to access an arbitrary subject node, 
  * or property node, or object node from the graph.
  */
-public interface TestModel {
-    TestSubject aSubject();
-    TestProperty aProperty();
-    TestObject anObject();
+public interface T_Model {
+    T_Subject aSubject();
+    T_Property aProperty();
+    T_Object anObject();
     
 }
diff --git 
a/jena-core/src/test/java/org/apache/jena/enhanced/TestModelImpl.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_ModelImpl.java
similarity index 74%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TestModelImpl.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_ModelImpl.java
index 9b94945e06..8ed6dae892 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestModelImpl.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_ModelImpl.java
@@ -24,10 +24,10 @@ import org.apache.jena.graph.*;
 import org.apache.jena.rdf.model.RDFNode;
 import org.apache.jena.util.iterator.*;
 
-public class TestModelImpl extends EnhGraph implements TestModel {
+public class T_ModelImpl extends EnhGraph implements T_Model {
     
-    /** Creates a new instance of TestModelImpl */
-    public TestModelImpl(Graph g, Personality<RDFNode> p) {
+    /** Creates a new instance of T_ModelImpl */
+    public T_ModelImpl(Graph g, Personality<RDFNode> p) {
         super(g,p);
     }
     private Triple aTriple() 
@@ -43,18 +43,18 @@ public class TestModelImpl extends EnhGraph implements 
TestModel {
         }
         
     @Override
-    public TestObject anObject() {
-        return getNodeAs(aTriple().getObject(),TestObject.class);
+    public T_Object anObject() {
+        return getNodeAs(aTriple().getObject(),T_Object.class);
     }
     
     @Override
-    public TestProperty aProperty() {
-        return getNodeAs(aTriple().getPredicate(),TestProperty.class);
+    public T_Property aProperty() {
+        return getNodeAs(aTriple().getPredicate(),T_Property.class);
     }
     
     @Override
-    public TestSubject aSubject() {
-        return getNodeAs(aTriple().getSubject(),TestSubject.class);
+    public T_Subject aSubject() {
+        return getNodeAs(aTriple().getSubject(),T_Subject.class);
     }
     
 }
diff --git a/jena-core/src/test/java/org/apache/jena/enhanced/TestNode.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_Node.java
similarity index 88%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TestNode.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_Node.java
index 85be04acfc..ee49cf1465 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestNode.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_Node.java
@@ -21,13 +21,13 @@
 
 package org.apache.jena.enhanced;
 
-public interface TestNode {
+public interface T_Node {
        // Convenience routines for converting between different
        // views using the subinterfaces,
        // These are implemented in the base implementation class
-       // TestCommonImpl.
-    TestSubject asSubject();
-    TestObject asObject();
-    TestProperty asProperty();
+       // T_CommonImpl.
+    T_Subject asSubject();
+    T_Object asObject();
+    T_Property asProperty();
 
 }
diff --git a/jena-core/src/test/java/org/apache/jena/enhanced/TestObject.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_Object.java
similarity index 93%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TestObject.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_Object.java
index 99324eb1b3..98e9e91489 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestObject.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_Object.java
@@ -26,7 +26,7 @@ import org.apache.jena.rdf.model.RDFNode;
 /**
  * An interface for viewing object nodes in the graph.
  */
-public interface TestObject extends RDFNode, TestNode {
+public interface T_Object extends RDFNode, T_Node {
 
     /**
      * Checks whether this node is right now the object of some
@@ -39,5 +39,5 @@ public interface TestObject extends RDFNode, TestNode {
      *
      * @return the subject of a triple.
      */
-    TestSubject aSubject();
+    T_Subject aSubject();
 }
diff --git 
a/jena-core/src/test/java/org/apache/jena/enhanced/TestObjectImpl.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_ObjectImpl.java
similarity index 83%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TestObjectImpl.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_ObjectImpl.java
index 9ca26342b1..0eef2ac3fe 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestObjectImpl.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_ObjectImpl.java
@@ -24,9 +24,9 @@ import org.apache.jena.graph.*;
 import org.apache.jena.rdf.model.RDFNode;
 
 /**
- * See {@link TestObject} for more detailed documentation.
+ * See {@link T_Object} for more detailed documentation.
  */
-public class TestObjectImpl extends TestCommonImpl implements TestObject {
+public class T_ObjectImpl extends T_CommonImpl implements T_Object {
 
     /** The  required field is the factory field, of
      * class Implementation.
@@ -40,14 +40,14 @@ public class TestObjectImpl extends TestCommonImpl 
implements TestObject {
             Note the constructor can/should be private.
         */
         @Override public EnhNode wrap(Node n,EnhGraph eg) 
-            { return new TestObjectImpl(n,eg); }
+            { return new T_ObjectImpl(n,eg); }
     
         @Override public boolean canWrap( Node n, EnhGraph eg )
             { return true; }
         };
     
-    /** Creates a new instance of TestAllImpl */
-    private TestObjectImpl(Node n,EnhGraph eg) {
+    /** Creates a new instance of T_AllImpl */
+    private T_ObjectImpl(Node n,EnhGraph eg) {
         super( n, eg );
     }
     
@@ -65,12 +65,12 @@ public class TestObjectImpl extends TestCommonImpl 
implements TestObject {
      * (If the underlying graph has changed for the worse will
      * users prefer an early and unambiguous exception at this point).
      * 
-     * @see org.apache.jena.enhanced.TestObject#aSubject()
+     * @see org.apache.jena.enhanced.T_Object#aSubject()
      */
     @Override
-    public TestSubject aSubject() {
+    public T_Subject aSubject() {
         if (!isObject())
             throw new IllegalStateException("Node is not the object of a 
triple.");
-        return enhGraph.getNodeAs(findObject().getSubject(),TestSubject.class);
+        return enhGraph.getNodeAs(findObject().getSubject(),T_Subject.class);
     }
 }
diff --git a/jena-core/src/test/java/org/apache/jena/enhanced/TestProperty.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_Property.java
similarity index 90%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TestProperty.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_Property.java
index 7b4ab3d4a1..471c31a151 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestProperty.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_Property.java
@@ -24,10 +24,10 @@ package org.apache.jena.enhanced;
 import org.apache.jena.rdf.model.RDFNode;
 
 /**
- * @see TestObject
+ * @see T_Object
  */
-public interface TestProperty extends RDFNode, TestNode {  
+public interface T_Property extends RDFNode, T_Node {  
    
     boolean isProperty();
-    TestObject anObject();
+    T_Object anObject();
 }
diff --git 
a/jena-core/src/test/java/org/apache/jena/enhanced/TestPropertyImpl.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_PropertyImpl.java
similarity index 81%
rename from 
jena-core/src/test/java/org/apache/jena/enhanced/TestPropertyImpl.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_PropertyImpl.java
index c91d374147..295b2648d0 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestPropertyImpl.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_PropertyImpl.java
@@ -24,21 +24,21 @@ import org.apache.jena.graph.*;
 import org.apache.jena.rdf.model.RDFNode;
 
 /**
- * @see TestObjectImpl
+ * @see T_ObjectImpl
  */
-public class TestPropertyImpl  extends TestCommonImpl implements TestProperty {
+public class T_PropertyImpl  extends T_CommonImpl implements T_Property {
 
     public static final Implementation factory = new Implementation() {
         @Override public EnhNode wrap(Node n,EnhGraph eg) {
-            return new TestPropertyImpl(n,eg);
+            return new T_PropertyImpl(n,eg);
         }    
     
         @Override public boolean canWrap( Node n, EnhGraph eg )
             { return true; }
     };
     
-    /** Creates a new instance of TestAllImpl */
-    private TestPropertyImpl(Node n,EnhGraph eg) {
+    /** Creates a new instance of T_AllImpl */
+    private T_PropertyImpl(Node n,EnhGraph eg) {
         super( n, eg );
     }
     
@@ -51,10 +51,10 @@ public class TestPropertyImpl  extends TestCommonImpl 
implements TestProperty {
     }
         
     @Override
-    public TestObject anObject() {
+    public T_Object anObject() {
         if (!isProperty())
             throw new IllegalStateException("Node is not the property of a 
triple.");
-        return 
enhGraph.getNodeAs(findPredicate().getObject(),TestObject.class);
+        return enhGraph.getNodeAs(findPredicate().getObject(),T_Object.class);
     }
     
 }
diff --git a/jena-core/src/test/java/org/apache/jena/enhanced/TestSubject.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_Subject.java
similarity index 90%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TestSubject.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_Subject.java
index a59f608c82..fd6c243f51 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestSubject.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_Subject.java
@@ -24,10 +24,10 @@ package org.apache.jena.enhanced;
 import org.apache.jena.rdf.model.RDFNode;
 
 /**
- * @see TestObject
+ * @see T_Object
  */
-public interface TestSubject  extends RDFNode, TestNode {
+public interface T_Subject  extends RDFNode, T_Node {
     
     boolean isSubject();
-    TestProperty aProperty();
+    T_Property aProperty();
 }
diff --git 
a/jena-core/src/test/java/org/apache/jena/enhanced/TestSubjectImpl.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/T_SubjectImpl.java
similarity index 84%
rename from 
jena-core/src/test/java/org/apache/jena/enhanced/TestSubjectImpl.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/T_SubjectImpl.java
index ea6131ee6c..6fb950132f 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TestSubjectImpl.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/T_SubjectImpl.java
@@ -24,9 +24,9 @@ package org.apache.jena.enhanced;
 import org.apache.jena.graph.*;
 import org.apache.jena.rdf.model.RDFNode;
 /**
- * @see TestObjectImpl
+ * @see T_ObjectImpl
  */
-public class TestSubjectImpl extends TestCommonImpl implements TestSubject {
+public class T_SubjectImpl extends T_CommonImpl implements T_Subject {
 
     public static final Implementation factory = new Implementation() {
     @Override
@@ -34,12 +34,12 @@ public class TestSubjectImpl extends TestCommonImpl 
implements TestSubject {
         { return true; }
     @Override
     public EnhNode wrap(Node n,EnhGraph eg) {
-        return new TestSubjectImpl(n,eg);
+        return new T_SubjectImpl(n,eg);
     }
 };
     
-    /** Creates a new instance of TestAllImpl */
-    private TestSubjectImpl(Node n,EnhGraph eg) {
+    /** Creates a new instance of T_AllImpl */
+    private T_SubjectImpl(Node n,EnhGraph eg) {
         super( n, eg );
     }
     
@@ -52,9 +52,9 @@ public class TestSubjectImpl extends TestCommonImpl 
implements TestSubject {
     }
     
     @Override
-    public TestProperty aProperty() {
+    public T_Property aProperty() {
         if (!isSubject())
             throw new IllegalStateException("Node is not the subject of a 
triple.");
-        return 
enhGraph.getNodeAs(findSubject().getPredicate(),TestProperty.class);
+        return 
enhGraph.getNodeAs(findSubject().getPredicate(),T_Property.class);
     }
 }
diff --git a/jena-core/src/test/java/org/apache/jena/enhanced/TS3_enh.java 
b/jena-core/src/test/java/org/apache/jena/enhanced/TestEnhanced.java
similarity index 67%
rename from jena-core/src/test/java/org/apache/jena/enhanced/TS3_enh.java
rename to jena-core/src/test/java/org/apache/jena/enhanced/TestEnhanced.java
index fa31bd2c8b..9f28016396 100644
--- a/jena-core/src/test/java/org/apache/jena/enhanced/TS3_enh.java
+++ b/jena-core/src/test/java/org/apache/jena/enhanced/TestEnhanced.java
@@ -19,26 +19,34 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-/*
- * EnhancedTestSuite.java
- *
- * Created on 27 November 2002, 04:53
- */
-
 package org.apache.jena.enhanced;
 
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.apache.jena.graph.*;
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphMemFactory;
+import org.apache.jena.graph.GraphTestLib;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
 import org.apache.jena.junit.NodeCreateUtils;
-import org.apache.jena.rdf.model.*;
+import org.apache.jena.rdf.model.Literal;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.Property;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.rdf.model.RDFVisitor;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.rdf.model.ResourceFactory;
+import org.apache.jena.rdf.model.StatementTerm;
 import org.apache.jena.shared.JenaException;
+import org.apache.jena.test.JenaTestLib;
 
 /**
  * These tests give a small version of a model-like interface
- {@link TestModel} with different views
- * over the nodes in the graph {@link TestSubject},
- *{@link TestProperty} {@link TestObject}
+ {@link T_Model} with different views
+ * over the nodes in the graph {@link T_Subject},
+ *{@link T_Property} {@link T_Object}
  *Any node can be any one of these three, but the interface only works
  *if the node is the subject, property or object, respectively,
   of some triple in the graph.
@@ -52,7 +60,9 @@ import org.apache.jena.shared.JenaException;
  *These tests only test EnhNode polymorphism and not EnhGraph polymorphism.
  *EnhGraph polymorphism currently will not work.
  */
-public class TS3_enh extends TestCase  {
+public class TestEnhanced {
+
+    static { JenaTestLib.setup(); }
 
        static final private  Personality<RDFNode> split = new Personality<>();
 
@@ -67,31 +77,23 @@ public class TS3_enh extends TestCase  {
             // Note this does not guarantee that the only implementations
             // of each interface will be the one specified.
             // See bitOfBoth.
-        split.add( TestObject.class, TestObjectImpl.factory );
-        split.add( TestSubject.class, TestSubjectImpl.factory );
-        split.add( TestProperty.class, TestPropertyImpl.factory );
+        split.add( T_Object.class, T_ObjectImpl.factory );
+        split.add( T_Subject.class, T_SubjectImpl.factory );
+        split.add( T_Property.class, T_PropertyImpl.factory );
 
-        combo.add( TestObject.class, TestAllImpl.factory );
-        combo.add( TestSubject.class, TestAllImpl.factory );
-        combo.add( TestProperty.class, TestAllImpl.factory );
+        combo.add( T_Object.class, T_AllImpl.factory );
+        combo.add( T_Subject.class, T_AllImpl.factory );
+        combo.add( T_Property.class, T_AllImpl.factory );
 
-        bitOfBoth.add( TestObject.class, TestObjectImpl.factory );
-        bitOfBoth.add( TestSubject.class, TestSubjectImpl.factory );
-        bitOfBoth.add( TestProperty.class, TestAllImpl.factory );
+        bitOfBoth.add( T_Object.class, T_ObjectImpl.factory );
+        bitOfBoth.add( T_Subject.class, T_SubjectImpl.factory );
+        bitOfBoth.add( T_Property.class, T_AllImpl.factory );
 
         // broken is misconfigured and must throw an exception.
-        broken.add(TestObject.class, TestObjectImpl.factory );
-        broken.add( TestSubject.class, TestSubjectImpl.factory );
-        broken.add( TestProperty.class, TestObjectImpl.factory );
+        broken.add(T_Object.class, T_ObjectImpl.factory );
+        broken.add( T_Subject.class, T_SubjectImpl.factory );
+        broken.add( T_Property.class, T_ObjectImpl.factory );
        }
-    /** Creates a new instance of EnhancedTestSuite */
-    public TS3_enh(String name) {
-        super(name);
-    }
-
-    public static TestSuite suite() {
-        return new TestSuite(TS3_enh.class);
-    }
 
     // Create the graph to test.
     // These are model tests so use a same-value model.
@@ -103,6 +105,7 @@ public class TS3_enh extends TestCase  {
      * test that equals works on an EnhNode (after hedgehog introduced 
FrontsNode it
      * didn't).
      */
+    @Test
     public void testEquals() {
         EnhNode a = new EnhNode(NodeCreateUtils.create("eg:example"), null);
         assertEquals(a, a);
@@ -111,29 +114,29 @@ public class TS3_enh extends TestCase  {
     /**
      * View n as intf. This is supported iff rslt.
      */
-    private static <X extends RDFNode> void miniAsSupports(String title, 
TestNode n, Class<X> intf, boolean rslt ) {
-        assertTrue(title +":sanity",n instanceof Polymorphic<?>);
+    private static <X extends RDFNode> void miniAsSupports(String title, 
T_Node n, Class<X> intf, boolean rslt ) {
+        assertTrue(n instanceof Polymorphic<?>, title +":sanity");
 
         // It is always possible to view any node with any interface.
-        TestNode as1 = (TestNode)((EnhNode)n).viewAs(intf);
-        TestNode as2 = (TestNode)((EnhNode)n).viewAs(intf);
+        T_Node as1 = (T_Node)((EnhNode)n).viewAs(intf);
+        T_Node as2 = (T_Node)((EnhNode)n).viewAs(intf);
 
         // caching should ensure we get the same result both times.
-        assertTrue( title + ":idempotency", as1==as2 );
+        assertTrue( as1==as2, title + ":idempotency" );
 
         // Whether the interface is actually useable depends on the underlying
         // graph. This factoid is the rslt parameter.
-        assertEquals( title +":support",rslt,((EnhNode) as1).supports( intf ) 
);
+        assertEquals( rslt, ((EnhNode) as1).supports( intf ), title 
+":support" );
     }
 
-    private static void oneNodeAsSupports(String title, TestNode n, boolean 
rslts[] ) {
+    private static void oneNodeAsSupports(String title, T_Node n, boolean 
rslts[] ) {
        // Try n with all three interfaces.
-        miniAsSupports(title+"/TestSubject",n,TestSubject.class,rslts[0]);
-        miniAsSupports(title+"/TestProperty",n,TestProperty.class,rslts[1]);
-        miniAsSupports(title+"/TestObject",n,TestObject.class,rslts[2]);
+        miniAsSupports(title+"/T_Subject",n,T_Subject.class,rslts[0]);
+        miniAsSupports(title+"/T_Property",n,T_Property.class,rslts[1]);
+        miniAsSupports(title+"/T_Object",n,T_Object.class,rslts[2]);
     }
 
-    private static void manyNodeAsSupports(String title, TestNode n[], boolean 
rslts[][] ) {
+    private static void manyNodeAsSupports(String title, T_Node n[], boolean 
rslts[][] ) {
        // Try each n with each interface.
         for (int i=0;i<n.length;i++){
           oneNodeAsSupports(title+"["+i+"]",n[i],rslts[i]);
@@ -148,13 +151,13 @@ public class TS3_enh extends TestCase  {
      */
     private static void basic(String title, Personality<RDFNode> p) {
         Graph g = graphToTest();
-        TestModel model =  new TestModelImpl(g,p);
+        T_Model model =  new T_ModelImpl(g,p);
         // create some data
         GraphTestLib.graphAdd( g, "x R y;" );
 
-        // The graph has three nodes, extract them as TestNode's,
+        // The graph has three nodes, extract them as T_Node's,
         // using the minimalist ModelAPI.
-        TestNode nodes[] = new TestNode[]{
+        T_Node nodes[] = new T_Node[]{
             model.aSubject(),
             model.aProperty(),
             model.anObject()
@@ -171,9 +174,9 @@ public class TS3_enh extends TestCase  {
         GraphTestLib.graphAdd(g,"y R x;" );
 
         // The expected results are now different.
-        // (A node is appropriate for the TestSubject interface if it is
+        // (A node is appropriate for the T_Subject interface if it is
         // the subject of some triple in the graph, so the third node
-        // can now be a TestSubject).
+        // can now be a T_Subject).
         manyNodeAsSupports(title+"(b)",nodes,
            new boolean[][]{
                new boolean[]{true,false,true}, // nodes[0] is subj and obj, 
but not prop
@@ -184,9 +187,9 @@ public class TS3_enh extends TestCase  {
         g.delete( GraphTestLib.triple( "x R y" ) );
 
        // The expected results are now different again.
-       // (A node is appropriate for the TestSubject interface if it is
+       // (A node is appropriate for the T_Subject interface if it is
        // the subject of some triple in the graph, so the third node
-       // can now be a TestSubject).
+       // can now be a T_Subject).
 
         manyNodeAsSupports(title+"(c)",nodes,
            new boolean[][]{
@@ -211,7 +214,7 @@ public class TS3_enh extends TestCase  {
     // or not, we just try it.
     // Obviously sometimes it is broken, which should be reported using
     // an IllegalStateException.
-       private void canImplement(String title, TestNode n, int wh, boolean 
rslt ) {
+       private void canImplement(String title, T_Node n, int wh, boolean rslt 
) {
                try {
                        switch (wh) {
                                case S:
@@ -224,19 +227,19 @@ public class TS3_enh extends TestCase  {
                                        n.asObject().aSubject();
                                        break;
                        }
-                       assertTrue("IllegalStateException expected.",rslt);
+                       assertTrue(rslt, "IllegalStateException expected.");
                }
                catch (IllegalStateException e) {
-                       assertFalse("IllegalStateException at the wrong 
time.",rslt);
+                       assertFalse(rslt, "IllegalStateException at the wrong 
time.");
                }
        }
 
-       private void canImplement(String title, TestNode n, boolean rslts[] ) {
-               canImplement(title+"/TestSubject",n,S,rslts[0]);
-               canImplement(title+"/TestProperty",n,P,rslts[1]);
-               canImplement(title+"/TestObject",n,O,rslts[2]);
+       private void canImplement(String title, T_Node n, boolean rslts[] ) {
+               canImplement(title+"/T_Subject",n,S,rslts[0]);
+               canImplement(title+"/T_Property",n,P,rslts[1]);
+               canImplement(title+"/T_Object",n,O,rslts[2]);
        }
-       private void canImplement(String title, TestNode n[], boolean rslts[][] 
) {
+       private void canImplement(String title, T_Node n[], boolean rslts[][] ) 
{
                for (int i=0;i<n.length;i++){
                  canImplement(title+"["+i+"]",n[i],rslts[i]);
                }
@@ -244,10 +247,10 @@ public class TS3_enh extends TestCase  {
 
     private void follow(String title, Personality<RDFNode> p) {
         Graph g = graphToTest();
-        TestModel model =  new TestModelImpl(g,p);
+        T_Model model =  new T_ModelImpl(g,p);
         // create some data
         GraphTestLib.graphAdd( g, "a b c;" );
-        TestNode nodes[] = new TestNode[]{
+        T_Node nodes[] = new T_Node[]{
             model.aSubject(),
             model.aProperty(),
             model.anObject()
@@ -285,7 +288,7 @@ public class TS3_enh extends TestCase  {
         });
 
         // Another twist.
-        canImplement(title+"(c)",new TestNode[]{
+        canImplement(title+"(c)",new T_Node[]{
             nodes[1].asSubject().aProperty(),
             nodes[2].asObject().aSubject(),
             nodes[0].asProperty().anObject()
@@ -295,55 +298,59 @@ public class TS3_enh extends TestCase  {
                new boolean[]{true,false,false},
                new boolean[]{false,false,true}
         });
-        assertTrue("Recreated 
node",nodes[0].asProperty().anObject().equals(nodes[2]));
+        assertTrue(nodes[0].asProperty().anObject().equals(nodes[2]), 
"Recreated node");
     }
 
+    @Test
     public void testSplitBasic() { basic("Split: ",split); }
 
+    @Test
     public void testComboBasic() { basic("Combo: ",combo); }
 
+    @Test
     public void testSplitFollow() { follow("Split: ",split); }
 
+    @Test
     public void testComboFollow() { follow("Combo: ",combo); }
 
+    @Test
     public void testBitOfBothBasic() { basic("bob: ",bitOfBoth); }
 
+    @Test
     public void testBitOfBothFollow() { follow("bob: ",bitOfBoth); }
 
+    @Test
     public  void testBitOfBothSurprise() {
        // bitOfBoth is a surprising personality ...
        // we can have two different java objects implementing the same 
interface.
 
                Graph g = graphToTest();
-               TestModel model =  new TestModelImpl(g,bitOfBoth);
+               T_Model model =  new T_ModelImpl(g,bitOfBoth);
                // create some data
                GraphTestLib.graphAdd( g, "a a a;" );
-               TestSubject testSubjectImpl = model.aSubject();
-               assertTrue("BitOfBoth makes subjects using TestSubjectImpl",
-                        testSubjectImpl instanceof TestSubjectImpl);
-               TestProperty testAllImpl = testSubjectImpl.aProperty();
-       assertTrue("BitOfBoth makes properties using TestAllImpl",
-                        testAllImpl instanceof TestAllImpl);
-       assertTrue("turning a TestAllImpl into a TestSubject is a no-op",
-                 testAllImpl == testAllImpl.asSubject() );
-       assertTrue("turning a TestAllImpl into a TestSubject is a no-op",
-                         testSubjectImpl != testAllImpl.asSubject() );
-       assertTrue("turning a TestAllImpl into a TestSubject is a no-op",
-                         testSubjectImpl.asSubject() != 
testSubjectImpl.asSubject().asProperty().asSubject() );
+               T_Subject testSubjectImpl = model.aSubject();
+               assertTrue(testSubjectImpl instanceof T_SubjectImpl,
+                        "BitOfBoth makes subjects using T_SubjectImpl");
+               T_Property testAllImpl = testSubjectImpl.aProperty();
+       assertTrue(testAllImpl instanceof T_AllImpl,
+                        "BitOfBoth makes properties using T_AllImpl");
+       assertTrue(testAllImpl == testAllImpl.asSubject(),
+                 "turning a T_AllImpl into a T_Subject is a no-op");
+       assertTrue(testSubjectImpl != testAllImpl.asSubject(),
+                         "turning a T_AllImpl into a T_Subject is a no-op");
+       assertTrue(testSubjectImpl.asSubject() != 
testSubjectImpl.asSubject().asProperty().asSubject(),
+                         "turning a T_AllImpl into a T_Subject is a no-op");
 
     }
 
+    @Test
     public void testBrokenBasic() {
-       try {
-               // Any of the tests ought to work up and til the point
-               // that they don't. At that point they need to detect the
-               // error and throw the PersonalityConfigException.
-           basic("Broken: ",broken);
-           fail("broken is a misconfigured personality, but it wasn't 
detected.");
-       }
-       catch (PersonalityConfigException e ) {
-
-       }
+        // Any of the tests ought to work up and til the point
+        // that they don't. At that point they need to detect the
+        // error and throw the PersonalityConfigException.
+        assertThrows(PersonalityConfigException.class,
+                     ()->basic("Broken: ",broken),
+                     "broken is a misconfigured personality, but it wasn't 
detected.");
     }
 
     static class Example extends EnhNode implements RDFNode {
@@ -388,15 +395,15 @@ public class TS3_enh extends TestCase  {
         { return null; }
     }
 
+    @Test
     public void testSimple() {
         Graph g = graphToTest();
         Personality<RDFNode> ours = 
BuiltinPersonalities.model.copy().add(Example.class, Example.factory);
         EnhGraph eg = new EnhGraph(g, ours);
-        Node n = NodeFactory.createURI("spoo:bar");
         EnhNode eNode = new EnhNode(NodeFactory.createURI("spoo:bar"), eg);
         EnhNode eBlank = new EnhNode(NodeFactory.createBlankNode(), eg);
-        assertTrue("URI node can be an Example", 
eNode.supports(Example.class));
-        assertFalse("Blank node cannot be an Example", 
eBlank.supports(Example.class));
+        assertTrue(eNode.supports(Example.class), "URI node can be an 
Example");
+        assertFalse(eBlank.supports(Example.class), "Blank node cannot be an 
Example");
     }
 
     static class AnotherExample {
@@ -413,6 +420,7 @@ public class TS3_enh extends TestCase  {
         };
     }
 
+    @Test
     public void testAlreadyLinkedViewException() {
         Graph g = graphToTest();
         Personality<RDFNode> ours = 
BuiltinPersonalities.model.copy().add(Example.class, Example.factory);
@@ -422,10 +430,9 @@ public class TS3_enh extends TestCase  {
         EnhNode multiplexed = new Example(n, eg);
         multiplexed.as(Property.class);
         eNode.viewAs(Example.class);
-        try {
-            eNode.addView(multiplexed);
-            fail("should raise an AlreadyLinkedViewException ");
-        } catch (AlreadyLinkedViewException e) {}
+        assertThrows(AlreadyLinkedViewException.class,
+                     ()->eNode.addView(multiplexed),
+                     "should raise an AlreadyLinkedViewException");
     }
 
     /**
@@ -433,21 +440,20 @@ public class TS3_enh extends TestCase  {
      * supported by the enhanced graph generates an UnsupportedPolymorphism
      * exception.
      */
+    @Test
     public void testNullPointerTrap() {
         Graph g = graphToTest();
         EnhGraph eg = new EnhGraph(g, new Personality<RDFNode>());
         Node n = NodeCreateUtils.create("eh:something");
         EnhNode en = new EnhNode(n, eg);
-        try {
-            en.as(Property.class);
-            fail("oops");
-        } catch (UnsupportedPolymorphismException e) {
-            assertEquals(en, e.getBadNode());
-            assertTrue("exception should have cuplprit graph", eg == 
((EnhNode)e.getBadNode()).getGraph());
-            assertSame("exception should have culprit class", Property.class, 
e.getBadClass());
-        }
+        UnsupportedPolymorphismException e =
+            assertThrows(UnsupportedPolymorphismException.class, 
()->en.as(Property.class));
+        assertEquals(en, e.getBadNode());
+        assertTrue(eg == ((EnhNode)e.getBadNode()).getGraph(), "exception 
should have cuplprit graph");
+        assertSame(Property.class, e.getBadClass(), "exception should have 
culprit class");
     }
 
+    @Test
     public void testNullPointerTrapInCanSupport() {
         Graph g = graphToTest();
         EnhGraph eg = new EnhGraph(g, new Personality<RDFNode>());
@@ -456,6 +462,7 @@ public class TS3_enh extends TestCase  {
         assertFalse(en.canAs(Property.class));
     }
 
+    @Test
     public void testAsToOwnClassWithNoModel() {
         Resource r = ResourceFactory.createResource();
         assertEquals(null, r.getModel());
@@ -463,20 +470,19 @@ public class TS3_enh extends TestCase  {
         assertSame(r, r.as(Resource.class));
     }
 
+    @Test
     public void testCanAsReturnsFalseIfNoModel() {
         Resource r = ResourceFactory.createResource();
         assertEquals(false, r.canAs(Example.class));
     }
 
+    @Test
     public void testAsThrowsPolymorphismExceptionIfNoModel() {
         Resource r = ResourceFactory.createResource();
-        try {
-            r.as(Example.class);
-            fail("should throw UnsupportedPolymorphismException");
-        } catch (UnsupportedPolymorphismException e) {
-            assertTrue(e.getBadNode() instanceof EnhNode);
-            assertEquals(null, ((EnhNode)e.getBadNode()).getGraph());
-            assertEquals(Example.class, e.getBadClass());
-        }
+        UnsupportedPolymorphismException e =
+            assertThrows(UnsupportedPolymorphismException.class, 
()->r.as(Example.class));
+        assertTrue(e.getBadNode() instanceof EnhNode);
+        assertEquals(null, ((EnhNode)e.getBadNode()).getGraph());
+        assertEquals(Example.class, e.getBadClass());
     }
 }
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 b323842a67..bd789ea41f 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
@@ -44,7 +44,7 @@ public class JenaCoreTestAll_JU4 extends TestCase {
 
         // ** COMPLEX
         // Generates tests.
-        addTest(ts,  "Enhanced",            
org.apache.jena.enhanced.TS3_enh.suite());
+//JU6        addTest(ts,  "Enhanced",            
org.apache.jena.enhanced.TS3_enh.suite());
         addTest(ts,  "Graph",               
adaptJUnit4(org.apache.jena.graph.TS3_graph.class));
 
 //JU6        addTest(ts,  "Mem",                 
adaptJUnit4(org.apache.jena.mem.TS4_GraphMem.class));
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 864446eae0..5a2c797abe 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
@@ -27,6 +27,7 @@ import org.junit.platform.suite.api.Suite;
 
 import org.apache.jena.core_ttl.tests.TS6_TestTurtle;
 import org.apache.jena.datatypes.TS6_dt;
+import org.apache.jena.enhanced.TS6_enh;
 import org.apache.jena.irix.TS6_IRIx2;
 import org.apache.jena.langtagx.TS6_LangTagX;
 import org.apache.jena.mem.TS6_GraphMem;
@@ -49,6 +50,8 @@ import org.apache.jena.vocabulary.TS6_Vocabularies;
     TS6_LangTagX.class,
     TS6_dt.class,
 
+    TS6_enh.class,
+
     TS6_GraphMem.class,
     TS6_GraphMemValue.class,
 

Reply via email to