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 47c10829b2c61373665f2cf7b149953f404c4f5d Author: Andy Seaborne <[email protected]> AuthorDate: Mon Sep 7 18:20:25 2026 +0100 GH-3236: Convert jena.assembler to JUnit6 --- .../apache/jena/assembler/AssemblerTestBase.java | 9 +-- .../{TS3_Assembler.java => TS6_Assembler.java} | 61 +++++++++--------- .../apache/jena/assembler/TestAssemblerGroup.java | 23 +++++-- .../jena/assembler/TestAssemblerGroupTracing.java | 8 ++- .../apache/jena/assembler/TestAssemblerHelp.java | 21 +++++- .../jena/assembler/TestAssemblerVocabulary.java | 16 +++-- .../jena/assembler/TestBuiltinAssemblerGroup.java | 11 +++- .../jena/assembler/TestContentAssembler.java | 34 ++++++++-- .../jena/assembler/TestDefaultModelAssembler.java | 9 ++- .../assembler/TestDocumentManagerAssembler.java | 14 +++- .../apache/jena/assembler/TestImportManager.java | 14 +++- .../jena/assembler/TestInfModelAssembler.java | 15 ++++- .../jena/assembler/TestMemoryModelAssembler.java | 9 ++- .../java/org/apache/jena/assembler/TestMode.java | 6 +- .../apache/jena/assembler/TestModelAssembler.java | 10 +-- .../apache/jena/assembler/TestModelContent.java | 15 ++++- .../apache/jena/assembler/TestModelExpansion.java | 21 ++++-- .../jena/assembler/TestOntModelAcceptance.java | 8 ++- .../jena/assembler/TestOntModelAssembler.java | 74 +++++++++++----------- .../jena/assembler/TestOntModelSpecAssembler.java | 67 ++++++++++---------- .../jena/assembler/TestPrefixMappingAssembler.java | 12 +++- .../assembler/TestReasonerFactoryAssembler.java | 21 ++++-- .../org/apache/jena/assembler/TestRuleSet.java | 13 +++- .../jena/assembler/TestRuleSetAssembler.java | 15 ++++- .../jena/assembler/TestUnionModelAssembler.java | 13 +++- 25 files changed, 338 insertions(+), 181 deletions(-) diff --git a/jena-core/src/test/java/org/apache/jena/assembler/AssemblerTestBase.java b/jena-core/src/test/java/org/apache/jena/assembler/AssemblerTestBase.java index 20e531d19c..a3f72f0468 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/AssemblerTestBase.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/AssemblerTestBase.java @@ -21,7 +21,8 @@ package org.apache.jena.assembler; -import junit.framework.TestCase; +import static org.junit.jupiter.api.Assertions.*; + import org.apache.jena.assembler.assemblers.AssemblerBase; import org.apache.jena.assembler.exceptions.CannotConstructException; import org.apache.jena.rdf.model.Model; @@ -40,7 +41,7 @@ import org.apache.jena.vocabulary.RDFS; * in subclasses to control the parser that is used to construct models and the * prefixes added to the model (these features added for Eyeball). */ -public class AssemblerTestBase extends TestCase { +public class AssemblerTestBase { protected Class<? extends Assembler> getAssemblerClass() { throw new BrokenException("this class must define getAssemblerClass"); @@ -89,10 +90,6 @@ public class AssemblerTestBase extends TestCase { protected static final Model schema = JA.getSchema(); - public AssemblerTestBase(String name) { - super(name); - } - protected Model model(String string) { Model result = ModelTestLib.createModel(); setRequiredPrefixes(result); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TS3_Assembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TS6_Assembler.java similarity index 50% rename from jena-core/src/test/java/org/apache/jena/assembler/TS3_Assembler.java rename to jena-core/src/test/java/org/apache/jena/assembler/TS6_Assembler.java index 174aba1e4a..d9d270b3e3 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TS3_Assembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TS6_Assembler.java @@ -21,39 +21,42 @@ package org.apache.jena.assembler; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.BeforeSuite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) [email protected]( { - // Convert to JUnit5 - TestMode.class, +import org.apache.jena.test.JenaTestLib; - // JUnit3 +@Suite +@SelectClasses({ + TestMode.class, TestModelExpansion.class, TestImportManager.class, TestOntModelAcceptance.class, - -// // Was "TestAssemblers" : 19 - TestRuleSet.class , - TestAssemblerHelp.class , - TestDefaultModelAssembler.class , - TestMemoryModelAssembler.class , - TestAssemblerVocabulary.class , - TestRuleSetAssembler.class , - TestInfModelAssembler.class , - TestAssemblerGroup.class , - TestAssemblerGroupTracing.class , - TestReasonerFactoryAssembler.class , - TestContentAssembler.class , - TestModelContent.class , - TestUnionModelAssembler.class , - TestPrefixMappingAssembler.class , - TestBuiltinAssemblerGroup.class , - TestModelAssembler.class , - TestDocumentManagerAssembler.class, - TestOntModelSpecAssembler.class, - TestOntModelAssembler.class + TestRuleSet.class, + TestAssemblerHelp.class, + TestDefaultModelAssembler.class, + TestMemoryModelAssembler.class, + TestAssemblerVocabulary.class, + TestRuleSetAssembler.class, + TestInfModelAssembler.class, + TestAssemblerGroup.class, + TestAssemblerGroupTracing.class, + TestReasonerFactoryAssembler.class, + TestContentAssembler.class, + TestModelContent.class, + TestUnionModelAssembler.class, + TestPrefixMappingAssembler.class, + TestBuiltinAssemblerGroup.class, + TestModelAssembler.class, + TestDocumentManagerAssembler.class, + TestOntModelSpecAssembler.class, + TestOntModelAssembler.class }) -public class TS3_Assembler {} +public class TS6_Assembler { + @BeforeSuite + public static void beforeSuite() { + JenaTestLib.setup(); + } +} diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerGroup.java b/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerGroup.java index 265377cecc..c802fe20a1 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerGroup.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerGroup.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.assembler.assemblers.AssemblerBase; import org.apache.jena.assembler.assemblers.AssemblerGroup; import org.apache.jena.assembler.assemblers.AssemblerGroup.ExpandingAssemblerGroup; @@ -36,15 +40,13 @@ import org.apache.jena.test.JenaTestLib; import org.apache.jena.vocabulary.RDFS; public class TestAssemblerGroup extends AssemblerTestBase { - public TestAssemblerGroup(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return AssemblerGroup.class; } + @Test public void testEmptyAssemblerGroup() { AssemblerGroup a = AssemblerGroup.create(); JenaTestLib.assertInstanceOf(AssemblerGroup.class, a); @@ -70,15 +72,16 @@ public class TestAssemblerGroup extends AssemblerTestBase { } } + @Test public void testLoadsClasses() { AssemblerGroup a = AssemblerGroup.create(); a.implementWith(ModelTestLib.resource("T"), new MockAssembler()); Resource root = resourceInModel("x rdf:type T; _c ja:loadClass '" + TestAssemblerGroup.class.getName() + "$Trivial'"); // In case already loaded. loaded = false; - assertFalse("something has pre-loaded Trivial, so we can't test if it gets loaded", loaded); + assertFalse(loaded, "something has pre-loaded Trivial, so we can't test if it gets loaded"); assertEquals("mockmockmock", a.open(root)); - assertTrue("the assembler group did not obey the ja:loadClass directive", loaded); + assertTrue(loaded, "the assembler group did not obey the ja:loadClass directive"); } static class MockAssembler extends AssemblerBase { @@ -88,6 +91,7 @@ public class TestAssemblerGroup extends AssemblerTestBase { } } + @Test public void testSingletonAssemblerGroup() { AssemblerGroup a = AssemblerGroup.create(); assertSame(a, a.implementWith(JA.InfModel, Assembler.infModel)); @@ -95,6 +99,7 @@ public class TestAssemblerGroup extends AssemblerTestBase { checkFailsType(a, "js:DefaultModel"); } + @Test public void testMultipleAssemblerGroup() { AssemblerGroup a = AssemblerGroup.create(); assertSame(a, a.implementWith(JA.InfModel, Assembler.infModel)); @@ -104,6 +109,7 @@ public class TestAssemblerGroup extends AssemblerTestBase { checkFailsType(a, "js:DefaultModel"); } + @Test public void testImpliedType() { AssemblerGroup a = AssemblerGroup.create(); Resource root = resourceInModel("x ja:reasoner y"); @@ -112,6 +118,7 @@ public class TestAssemblerGroup extends AssemblerTestBase { assertSame(expected, a.open(root)); } + @Test public void testBuiltinGroup() { AssemblerGroup g = Assembler.general(); JenaTestLib.assertInstanceOf(Model.class, g.open(resourceInModel("x rdf:type ja:DefaultModel"))); @@ -126,6 +133,7 @@ public class TestAssemblerGroup extends AssemblerTestBase { } }; + @Test public void testAddingImplAddsSubclass() { final Model[] fullModel = new Model[1]; AssemblerGroup g = new AssemblerGroup.ExpandingAssemblerGroup() { @@ -149,6 +157,7 @@ public class TestAssemblerGroup extends AssemblerTestBase { } } + @Test public void testClassesLoadedBeforeAddingTypes() { String className = ImplementsSPOO.class.getName(); Resource root = resourceInModel("_root rdf:type ja:MemoryModel; _x ja:loadClass '" + className + "'"); @@ -166,13 +175,14 @@ public class TestAssemblerGroup extends AssemblerTestBase { fail("expected a Model, but got a " + object.getClass()); } + @Test public void testPassesSelfIn() { final AssemblerGroup group = AssemblerGroup.create(); final Object result = new Object(); Assembler fake = new AssemblerBase() { @Override public Object open(Assembler a, Resource root, Mode irrelevant) { - assertSame("nested call should pass in assembler group:", group, a); + assertSame(group, a, "nested call should pass in assembler group:"); return result; } }; @@ -180,6 +190,7 @@ public class TestAssemblerGroup extends AssemblerTestBase { assertSame(result, group.open(resourceInModel("x rdf:type ja:Object"))); } + @Test public void testCopyPreservesMapping() { AssemblerGroup initial = AssemblerGroup.create().implementWith(JA.InfModel, new InfModelAssembler()); AssemblerGroup copy = initial.copy(); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerGroupTracing.java b/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerGroupTracing.java index ba2da9f15d..5e1be18965 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerGroupTracing.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerGroupTracing.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.assembler.assemblers.*; import org.apache.jena.assembler.exceptions.AssemblerException; import org.apache.jena.rdf.model.ModelTestLib; @@ -29,10 +33,8 @@ import org.apache.jena.shared.JenaException; import org.apache.jena.test.JenaTestLib; public class TestAssemblerGroupTracing extends AssemblerTestBase { - public TestAssemblerGroupTracing(String name) { - super(name); - } + @Test public void testFail() { Resource root = resourceInModel("x rdf:type A"); AssemblerGroup g = AssemblerGroup.create(); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerHelp.java b/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerHelp.java index 7641471a0f..04870a4b8b 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerHelp.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerHelp.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import java.util.*; import org.apache.jena.assembler.assemblers.*; @@ -31,15 +35,13 @@ import org.apache.jena.test.JenaTestLib; import org.apache.jena.vocabulary.RDF; public class TestAssemblerHelp extends AssemblerTestBase { - public TestAssemblerHelp(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { throw new BrokenException("TestAssemblers does not need this method"); } + @Test public void testClosureFootprint() { Resource root = resourceInModel("x ja:reasoner y"); Statement footprint = root.getModel().createStatement(JA.This, RDF.type, JA.Expanded); @@ -48,6 +50,7 @@ public class TestAssemblerHelp extends AssemblerTestBase { assertTrue(expanded.getModel().contains(footprint)); } + @Test public void testFootprintPreventsClosure() { Resource root = resourceInModel("x ja:reasoner y; ja:this rdf:type ja:Expanded"); Model original = model("").add(root.getModel()); @@ -56,11 +59,13 @@ public class TestAssemblerHelp extends AssemblerTestBase { ModelTestLib.assertIsoModels(original, expanded.getModel()); } + @Test public void testSpecificType() { testSpecificType("ja:NamedModel", "x ja:modelName 'name'"); testSpecificType("ja:NamedModel", "x ja:modelName 'name'; x rdf:type irrelevant"); } + @Test public void testFindSpecificTypes() { testFindSpecificTypes("", "x rdf:type A", "Top"); testFindSpecificTypes("", "x rdf:type A; x rdf:type B", "Top"); @@ -78,30 +83,35 @@ public class TestAssemblerHelp extends AssemblerTestBase { assertEquals(expected, answer); } + @Test public void testFindRootByExplicitType() { Model model = model("x rdf:type ja:Object; y rdf:type Irrelevant"); Set<Resource> roots = AssemblerHelp.findAssemblerRoots(model); assertEquals(ModelTestLib.resourceSet("x"), roots); } + @Test public void testFindRootByImplicitType() { Model model = model("x ja:reificationMode ja:Standard"); Set<Resource> roots = AssemblerHelp.findAssemblerRoots(model); assertEquals(ModelTestLib.resourceSet("x"), roots); } + @Test public void testFindMultipleRoots() { Model model = model("x rdf:type ja:Object; y ja:reificationMode ja:Minimal"); Set<Resource> roots = AssemblerHelp.findAssemblerRoots(model); assertEquals(ModelTestLib.resourceSet("y x"), roots); } + @Test public void testFindRootsWithSpecifiedType() { Model model = model("x rdf:type ja:Model; y rdf:type ja:Object"); Set<Resource> roots = AssemblerHelp.findAssemblerRoots(model, JA.Model); assertEquals(ModelTestLib.resourceSet("x"), roots); } + @Test public void testThrowsIfNoRoots() { try { AssemblerHelp.singleModelRoot(model("")); @@ -111,6 +121,7 @@ public class TestAssemblerHelp extends AssemblerTestBase { } } + @Test public void testThrowsIfManyRoots() { try { AssemblerHelp.singleModelRoot(model("a rdf:type ja:Model; b rdf:type ja:Model")); @@ -120,11 +131,13 @@ public class TestAssemblerHelp extends AssemblerTestBase { } } + @Test public void testExtractsSingleRoot() { Resource it = AssemblerHelp.singleModelRoot(model("a rdf:type ja:Model")); assertEquals(ModelTestLib.resource("a"), it); } + @Test public void testSpecificTypeFails() { try { testSpecificType("xxx", "x rdf:type ja:Model; x rdf:type ja:PrefixMapping"); @@ -191,6 +204,7 @@ public class TestAssemblerHelp extends AssemblerTestBase { } } + @Test public void testClassAssociation() { String className = "org.apache.jena.assembler.TestAssemblerHelp$Imp"; AssemblerGroup group = AssemblerGroup.create(); @@ -204,6 +218,7 @@ public class TestAssemblerHelp extends AssemblerTestBase { assertEquals(className, group.assemblerFor(ModelTestLib.resource("eh:Wossname")).getClass().getName()); } + @Test public void testClassResourceConstructor() { AssemblerGroup group = AssemblerGroup.create(); Model m = model("eh:Wossname ja:assembler 'org.apache.jena.assembler.TestAssemblerHelp$Gremlin'"); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerVocabulary.java b/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerVocabulary.java index f42cdc421f..8c53718753 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerVocabulary.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestAssemblerVocabulary.java @@ -21,18 +21,20 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.rdf.model.*; public class TestAssemblerVocabulary extends AssemblerTestBase { - public TestAssemblerVocabulary(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return null; } + @Test public void testVocabulary() { assertEquals("http://jena.hpl.hp.com/2005/11/Assembler#", JA.getURI()); assertEquals("http://jena.hpl.hp.com/2005/11/Assembler#", JA.uri); @@ -88,6 +90,7 @@ public class TestAssemblerVocabulary extends AssemblerTestBase { assertEquals(JA.uri + local, resource.getURI()); } + @Test public void testObjectTypes() { assertSubclassOf(JA.Model, JA.Object); assertSubclassOf(JA.PrefixMapping, JA.Object); @@ -97,6 +100,7 @@ public class TestAssemblerVocabulary extends AssemblerTestBase { assertSubclassOf(JA.ReasonerFactory, JA.Object); } + @Test public void testModelTypes() { assertSubclassOf(JA.MemoryModel, JA.Model); assertSubclassOf(JA.DefaultModel, JA.Model); @@ -104,16 +108,18 @@ public class TestAssemblerVocabulary extends AssemblerTestBase { assertSubclassOf(JA.OntModel, JA.InfModel); assertSubclassOf(JA.NamedModel, JA.Model); assertSubclassOf(JA.FileModel, JA.NamedModel); - // assertSubclassOf( JA.OntModelSpec, JA.ReasonerFactory ); + // assertSubclassOf(JA.OntModelSpec, JA.ReasonerFactory ); } + @Test public void testInfModelProperties() { assertDomain(JA.InfModel, JA.baseModel); assertDomain(JA.InfModel, JA.reasoner); } + @Test public void testOntModelProperties() { assertDomain(JA.OntModel, JA.ontModelSpec); - // assertRange( JA.ReasonerFactory, JA.reasonerURL ); + // assertRange(JA.ReasonerFactory, JA.reasonerURL ); } } diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestBuiltinAssemblerGroup.java b/jena-core/src/test/java/org/apache/jena/assembler/TestBuiltinAssemblerGroup.java index 80679c36bd..2ad314ca80 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestBuiltinAssemblerGroup.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestBuiltinAssemblerGroup.java @@ -21,15 +21,16 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.assembler.assemblers.*; import org.apache.jena.rdf.model.Resource; import org.apache.jena.shared.PrefixMapping; import org.apache.jena.test.JenaTestLib; public class TestBuiltinAssemblerGroup extends AssemblerTestBase { - public TestBuiltinAssemblerGroup(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { @@ -37,6 +38,7 @@ public class TestBuiltinAssemblerGroup extends AssemblerTestBase { } @SuppressWarnings("removal") + @Test public void testGeneralRegistration() { assertAssemblerClass(JA.DefaultModel, DefaultModelAssembler.class); assertAssemblerClass(JA.PrefixMapping, PrefixMappingAssembler.class); @@ -54,6 +56,7 @@ public class TestBuiltinAssemblerGroup extends AssemblerTestBase { } @SuppressWarnings("removal") + @Test public void testVariables() { JenaTestLib.assertInstanceOf(DefaultModelAssembler.class, Assembler.defaultModel); JenaTestLib.assertInstanceOf(PrefixMappingAssembler.class, Assembler.prefixMapping); @@ -68,12 +71,14 @@ public class TestBuiltinAssemblerGroup extends AssemblerTestBase { JenaTestLib.assertInstanceOf(UnionModelAssembler.class, Assembler.unionModel); } + @Test public void testRecognisesAndAssemblesSinglePrefixMapping() { PrefixMapping wanted = PrefixMapping.Factory.create().setNsPrefix("P", "spoo:/"); Resource r = resourceInModel("x ja:prefix 'P'; x ja:namespace 'spoo:/'"); assertEquals(wanted, Assembler.general().open(r)); } + @Test public void testRecognisesAndAssemblesMultiplePrefixMappings() { PrefixMapping wanted = PrefixMapping.Factory.create().setNsPrefix("P", "spoo:/").setNsPrefix("Q", "flarn:/"); Resource r = resourceInModel("x ja:includes y; x ja:includes z; y ja:prefix 'P'; y ja:namespace 'spoo:/'; z ja:prefix 'Q'; z ja:namespace 'flarn:/'"); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestContentAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestContentAssembler.java index 7deb02116a..ee0dbbfe19 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestContentAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestContentAssembler.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.assembler.assemblers.ContentAssembler; import org.apache.jena.assembler.exceptions.UnknownEncodingException; import org.apache.jena.rdf.model.*; @@ -29,25 +33,24 @@ import org.apache.jena.util.*; public class TestContentAssembler extends AssemblerTestBase { protected static String Testing = "testing/assemblers"; - public TestContentAssembler(String name) { - super(name); - } - @Override protected Class<? extends Assembler> getAssemblerClass() { return ContentAssembler.class; } + @Test public void testContentAssemblerType() { testDemandsMinimalType(new ContentAssembler(), JA.Content); } + @Test public void testContentVocabulary() { assertSubclassOf(JA.Content, JA.HasFileManager); assertSubclassOf(JA.ContentItem, JA.Content); - // assertSubclassOf( JA.LiteralContent, JA.Content ); + // assertSubclassOf(JA.LiteralContent, JA.Content ); } + @Test public void testContent() { Assembler a = new ContentAssembler(); Content c = (Content)a.open(resourceInModel("x rdf:type ja:Content")); @@ -57,6 +60,7 @@ public class TestContentAssembler extends AssemblerTestBase { assertEquals(0, m.size()); } + @Test public void testMultipleLiteralsWorks() { Assembler a = new ContentAssembler(); String A = "<eh:/A> a <eh:/Type>.".replaceAll(" ", "\\\\s"); @@ -67,6 +71,7 @@ public class TestContentAssembler extends AssemblerTestBase { ModelTestLib.assertIsoModels(model("Type rdf:type rdfs:Class; A rdf:type Type"), C.fill(model(""))); } + @Test public void testN3StringContentSingleTriples() { testStringContent("_x rdf:value '17'xsd:integer", "_:x rdf:value 17 ."); testStringContent("_x rdf:value '42'xsd:integer", "_:x rdf:value 42 ."); @@ -76,10 +81,12 @@ public class TestContentAssembler extends AssemblerTestBase { testStringContent("_x dc:title 'A\\sTitle'", "_:x dc:title 'A Title' ."); } + @Test public void testN3StringContentMultipleTriples() { testStringContent("x rdf:value 5; y owl:sameAs x", "<eh:/x> rdf:value 5 . <eh:/y> owl:sameAs <eh:/x> ."); } + @Test public void testRDFXMLContent() { Assembler a = new ContentAssembler(); String Stuff = "<owl:Class></owl:Class>".replaceAll(" ", "\\\\s"); @@ -89,6 +96,7 @@ public class TestContentAssembler extends AssemblerTestBase { ModelTestLib.assertIsoModels(model("_x rdf:type owl:Class"), c.fill(model(""))); } + @Test public void testSingleExternalContent() { Assembler a = new ContentAssembler(); String source = Testing + "/schema.n3"; @@ -97,6 +105,7 @@ public class TestContentAssembler extends AssemblerTestBase { ModelTestLib.assertIsoModels(FileManager.getInternal().loadModelInternal("file:" + source), c.fill(model(""))); } + @Test public void testMultipleExternalContent() { Assembler a = new ContentAssembler(); String sourceA = Testing + "/schema.n3"; @@ -109,6 +118,7 @@ public class TestContentAssembler extends AssemblerTestBase { ModelTestLib.assertIsoModels(wanted, c.fill(model(""))); } + @Test public void testIndirectContent() { Assembler a = new ContentAssembler(); Resource root = resourceInModel("x rdf:type ja:Content; x ja:content y" + "; y rdf:type ja:Content; y ja:content z" @@ -118,6 +128,7 @@ public class TestContentAssembler extends AssemblerTestBase { ModelTestLib.assertIsoModels(wanted, c.fill(model(""))); } + @Test public void testTrapsBadEncodings() { Assembler a = new ContentAssembler(); Resource root = resourceInModel("x rdf:type ja:Content; x ja:contentEncoding 'bogus'; x ja:literalContent 'sham'"); @@ -130,6 +141,7 @@ public class TestContentAssembler extends AssemblerTestBase { } } + @Test public void testContentTrapsBadObjects() { testContentTrapsBadObjects("ja:content", "17"); // testContentTrapsBadObjects( "ja:externalContent", "17" ); @@ -152,6 +164,7 @@ public class TestContentAssembler extends AssemblerTestBase { } } + @Test public void testMixedContent() { Assembler a = new ContentAssembler(); String source = Testing + "/schema.n3"; @@ -163,6 +176,7 @@ public class TestContentAssembler extends AssemblerTestBase { ModelTestLib.assertIsoModels(wanted, c.fill(model(""))); } + @Test public void testSingleContentQuotation() { Assembler a = new ContentAssembler(); Resource root = resourceInModel("c rdf:type ja:Content; c rdf:type ja:QuotedContent; c ja:quotedContent x; x P A; x Q B"); @@ -170,6 +184,7 @@ public class TestContentAssembler extends AssemblerTestBase { ModelTestLib.assertIsoModels(model("x P A; x Q B"), c.fill(model(""))); } + @Test public void testMultipleContentQuotation() { Assembler a = new ContentAssembler(); Resource root = resourceInModel("c rdf:type ja:Content; c rdf:type ja:QuotedContent; c ja:quotedContent x" @@ -178,6 +193,7 @@ public class TestContentAssembler extends AssemblerTestBase { ModelTestLib.assertIsoModels(model("x P A; x Q B; y R C"), c.fill(model(""))); } + @Test public void testContentLoadsPrefixMappings() { Assembler a = new ContentAssembler(); String content = "@prefix foo: <eh:/foo#>. <eh:/eggs> rdf:type rdf:Property.".replaceAll(" ", "\\\\s"); @@ -200,16 +216,19 @@ public class TestContentAssembler extends AssemblerTestBase { /* -- ContentAssembler FileManager tests ---------------------------------- */ + @Test public void testContentAssemblerHasNoDefaultFileManager() { - assertNull("by default, ContentAssemblers have no FileManager", new ContentAssembler().getFileManager()); + assertNull(new ContentAssembler().getFileManager(), "by default, ContentAssemblers have no FileManager"); } + @Test public void testContentAssemblerHasSuppliedFileManager() { @SuppressWarnings("deprecation") FileManager fm = FileManager.create(); assertSame(fm, new ContentAssembler(fm).getFileManager()); } + @Test public void testUsesSuppliedFileManager() { final boolean[] used = {false}; FileManager fm = new FileManagerImpl() { @@ -224,9 +243,10 @@ public class TestContentAssembler extends AssemblerTestBase { Resource root = resourceInModel("x rdf:type ja:Content; x rdf:type ja:ExternalContent; x ja:externalContent file:" + source); Content c = (Content)a.open(root); ModelTestLib.assertIsoModels(FileManager.getInternal().loadModelInternal("file:" + source), c.fill(model(""))); - assertTrue("the supplied file manager must have been used", used[0]); + assertTrue(used[0], "the supplied file manager must have been used"); } + @Test public void testContentAssemblerUsesFileManagerProperty() { Model expected = model("a P b"); String fileName = "file:spoo"; diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestDefaultModelAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestDefaultModelAssembler.java index 31a803878c..944fc30b3a 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestDefaultModelAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestDefaultModelAssembler.java @@ -21,25 +21,28 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.assembler.assemblers.DefaultModelAssembler; import org.apache.jena.rdf.model.Model; public class TestDefaultModelAssembler extends AssemblerTestBase { - public TestDefaultModelAssembler(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return DefaultModelAssembler.class; } + @Test public void testDefaultModelAssembler() { Assembler a = Assembler.defaultModel; Model m = a.openModel(resourceInModel("x rdf:type ja:DefaultModel")); assertNotNull(m.getGraph()); } + @Test public void testDefaultModelAssemblerType() { testDemandsMinimalType(Assembler.defaultModel, JA.DefaultModel); } diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestDocumentManagerAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestDocumentManagerAssembler.java index 345a387a16..3820f72082 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestDocumentManagerAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestDocumentManagerAssembler.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import java.util.*; import org.apache.jena.assembler.assemblers.DocumentManagerAssembler; @@ -30,19 +34,18 @@ import org.apache.jena.test.JenaTestLib; import org.apache.jena.util.FileManager; public class TestDocumentManagerAssembler extends AssemblerTestBase { - public TestDocumentManagerAssembler(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return DocumentManagerAssembler.class; } + @Test public void testDocumentManagerAssemblerType() { testDemandsMinimalType(new DocumentManagerAssembler(), JA.DocumentManager); } + @Test public void testDocumentManagerVocabulary() { assertSubclassOf(JA.DocumentManager, JA.Object); assertSubclassOf(JA.DocumentManager, JA.HasFileManager); @@ -50,6 +53,7 @@ public class TestDocumentManagerAssembler extends AssemblerTestBase { assertDomain(JA.DocumentManager, JA.policyPath); } + @Test public void testCreatesDocumentManager() { Resource root = resourceInModel("x rdf:type ja:DocumentManager"); Assembler a = new DocumentManagerAssembler(); @@ -57,6 +61,7 @@ public class TestDocumentManagerAssembler extends AssemblerTestBase { JenaTestLib.assertInstanceOf(OntDocumentManager.class, x); } + @Test public void testUsesFileManager() { Resource root = resourceInModel("x rdf:type ja:DocumentManager; x ja:fileManager f"); Assembler a = new DocumentManagerAssembler(); @@ -68,6 +73,7 @@ public class TestDocumentManagerAssembler extends AssemblerTestBase { assertSame(fm, ((OntDocumentManager)x).getFileManager()); } + @Test public void testSetsPolicyPath() { Resource root = resourceInModel("x rdf:type ja:DocumentManager; x ja:policyPath 'somePath'"); final List<String> history = new ArrayList<>(); @@ -88,6 +94,7 @@ public class TestDocumentManagerAssembler extends AssemblerTestBase { assertEquals(JenaTestLib.listOfOne("somePath"), history); } + @Test public void testTrapsPolicyPathNotString() { testTrapsBadPolicyPath("aResource"); testTrapsBadPolicyPath("17"); @@ -107,6 +114,7 @@ public class TestDocumentManagerAssembler extends AssemblerTestBase { } } + @Test public void testSetsMetadata() { // we set policyPath to avoid Ont default models // being thrown at us Resource root = resourceInModel("x rdf:type ja:DocumentManager; x ja:policyPath ''; x P a; a Q b; y R z"); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestImportManager.java b/jena-core/src/test/java/org/apache/jena/assembler/TestImportManager.java index 88cf7b7305..83a4a8468f 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestImportManager.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestImportManager.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import java.util.*; import org.apache.jena.graph.compose.MultiUnion; @@ -31,9 +35,6 @@ import org.apache.jena.util.FileManager; import org.apache.jena.util.FileManagerImpl; public class TestImportManager extends AssemblerTestBase { - public TestImportManager(String name) { - super(name); - } static class FixedFileManager extends FileManagerImpl { Map<String, Model> map = new HashMap<>(); @@ -52,6 +53,7 @@ public class TestImportManager extends AssemblerTestBase { } } + @Test public void testFollowOwlImports() { final Model modelToLoad = model("this hasMarker B5"); Model m = model("x ja:reasoner y; _x owl:imports eh:/loadMe"); @@ -61,6 +63,7 @@ public class TestImportManager extends AssemblerTestBase { ModelTestLib.assertIsoModels(modelToLoad.union(m), m2); } + @Test public void testFollowJAImports() { final Model modelToLoad = model("this hasMarker B5"); Model m = model("x ja:reasoner y; _x ja:imports eh:/loadMe"); @@ -70,6 +73,7 @@ public class TestImportManager extends AssemblerTestBase { ModelTestLib.assertIsoModels(modelToLoad.union(m), m2); } + @Test public void testImportMayBeLiteral() { final Model modelToLoad = model("this hasMarker B5"); Model m = model("x ja:reasoner y; _x ja:imports 'eh:/loadMe'"); @@ -79,6 +83,7 @@ public class TestImportManager extends AssemblerTestBase { ModelTestLib.assertIsoModels(modelToLoad.union(m), m2); } + @Test public void testBadImportObjectFails() { testBadImportObjectFails("_bnode"); testBadImportObjectFails("17"); @@ -98,6 +103,7 @@ public class TestImportManager extends AssemblerTestBase { } } + @Test public void testFollowOwlImportsDeeply() { final Model m1 = model("this hasMarker M1; _x owl:imports M2"), m2 = model("this hasMarker M2"); Model m = model("x ja:reasoner y; _x owl:imports M1"); @@ -107,6 +113,7 @@ public class TestImportManager extends AssemblerTestBase { ModelTestLib.assertIsoModels(m1.union(m2).union(m), result); } + @Test public void testCatchesCircularity() { final Model m1 = model("this hasMarker Mx; _x owl:imports My"), m2 = model("this hasMarker My; _x owl:imports Mx"); FileManager fm = new FixedFileManager().add("eh:/Mx", m1).add("eh:/My", m2); @@ -114,6 +121,7 @@ public class TestImportManager extends AssemblerTestBase { ModelTestLib.assertIsoModels(m1.union(m2), result); } + @Test public void testCacheModels() { ImportManager im = new ImportManager(); Model spec = model("_x owl:imports M1"); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestInfModelAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestInfModelAssembler.java index 586686b1d9..38278a6e76 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestInfModelAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestInfModelAssembler.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.assembler.assemblers.InfModelAssembler; import org.apache.jena.assembler.exceptions.NotUniqueException; import org.apache.jena.rdf.model.*; @@ -29,34 +33,36 @@ import org.apache.jena.reasoner.rulesys.GenericRuleReasonerFactory; import org.apache.jena.test.JenaTestLib; public class TestInfModelAssembler extends AssemblerTestBase { - public TestInfModelAssembler(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return InfModelAssembler.class; } + @Test public void testLocationMapperAssemblerType() { testDemandsMinimalType(new InfModelAssembler(), JA.InfModel); } + @Test public void testMockReasonersDifferent() { Reasoner R = GenericRuleReasonerFactory.theInstance().create(null); assertNotSame(mockReasonerFactory(R), mockReasonerFactory(R)); } + @Test public void testInfModel() { Assembler a = Assembler.infModel; Model m = a.openModel(resourceInModel("x rdf:type ja:InfModel")); JenaTestLib.assertInstanceOf(InfModel.class, m); } + @Test public void testInfModelType() { testDemandsMinimalType(Assembler.infModel, JA.InfModel); } + @Test public void testGetsReasoner() { Reasoner R = GenericRuleReasonerFactory.theInstance().create(null); final ReasonerFactory RF = mockReasonerFactory(R); @@ -85,6 +91,7 @@ public class TestInfModelAssembler extends AssemblerTestBase { }; } + @Test public void testGetsSpecifiedModel() { Model base = ModelFactory.createDefaultModel(); Resource root = resourceInModel("x rdf:type ja:InfModel; x ja:baseModel M"); @@ -93,6 +100,7 @@ public class TestInfModelAssembler extends AssemblerTestBase { assertSame(base.getGraph(), inf.getRawModel().getGraph()); } + @Test public void testDetectsMultipleBaseModels() { Model base = ModelFactory.createDefaultModel(); Resource root = resourceInModel("x rdf:type ja:InfModel; x ja:baseModel M; x ja:baseModel M2"); @@ -106,6 +114,7 @@ public class TestInfModelAssembler extends AssemblerTestBase { } } + @Test public void testDetectsMultipleReasoners() { Resource root = resourceInModel("x rdf:type ja:InfModel; x ja:reasoner R; x ja:reasoner R2"); Assembler mock = new FixedObjectAssembler(null); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestMemoryModelAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestMemoryModelAssembler.java index 518cb765be..727fe9b3d5 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestMemoryModelAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestMemoryModelAssembler.java @@ -21,23 +21,26 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.assembler.assemblers.MemoryModelAssembler; import org.apache.jena.rdf.model.Model; public class TestMemoryModelAssembler extends AssemblerTestBase { - public TestMemoryModelAssembler(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return MemoryModelAssembler.class; } + @Test public void testMemoryModelAssemblerType() { testDemandsMinimalType(new MemoryModelAssembler(), JA.MemoryModel); } + @Test public void testMemoryModelAssembler() { Assembler a = new MemoryModelAssembler(); Model m = a.openModel(resourceInModel("x rdf:type ja:MemoryModel")); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestMode.java b/jena-core/src/test/java/org/apache/jena/assembler/TestMode.java index 78a18093f4..77c59f0882 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestMode.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestMode.java @@ -21,13 +21,11 @@ package org.apache.jena.assembler; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.*; import org.apache.jena.rdf.model.Resource; import org.apache.jena.rdf.model.ResourceFactory; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class TestMode { diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestModelAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestModelAssembler.java index 70c840e842..d7e20c3f32 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestModelAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestModelAssembler.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.assembler.assemblers.ContentAssembler; import org.apache.jena.assembler.assemblers.ModelAssembler; import org.apache.jena.rdf.model.Model; @@ -37,21 +41,19 @@ public class TestModelAssembler extends AssemblerTestBase { } } - public TestModelAssembler(String name) { - super(name); - } - @Override protected Class<? extends Assembler> getAssemblerClass() { return null; } + @Test public void testContent() { Resource root = resourceInModel("x rdf:type ja:DefaultModel; x ja:initialContent c; c ja:quotedContent A; A P B"); Model m = (Model)new FakeModelAssembler().open(new ContentAssembler(), root, Mode.ANY); ModelTestLib.assertIsoModels(ModelTestLib.modelWithStatements("A P B"), m); } + @Test public void testGetsPrefixMappings() { Assembler a = new FakeModelAssembler(); PrefixMapping wanted = PrefixMapping.Factory.create().setNsPrefix("my", "urn:secret:42/").setNsPrefix("your", "urn:public:17#"); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestModelContent.java b/jena-core/src/test/java/org/apache/jena/assembler/TestModelContent.java index 86cb8218d3..7ed230eb82 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestModelContent.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestModelContent.java @@ -21,41 +21,48 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import java.util.*; import org.apache.jena.rdf.model.*; import org.apache.jena.test.JenaTestLib; public class TestModelContent extends AssemblerTestBase { - public TestModelContent(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return null; } + @Test public void testMemoryModelLoadsSingleContent() { testModelLoadsSingleContent(Assembler.memoryModel, JA.MemoryModel); } + @Test public void testMemoryModelLoadsMultipleContent() { testModelLoadsMultipleContent(Assembler.memoryModel, JA.MemoryModel); } + @Test public void testDefaultModelLoadsSingleContent() { testModelLoadsSingleContent(Assembler.defaultModel, JA.DefaultModel); } + @Test public void testDefaultModelLoadsMultipleContent() { testModelLoadsMultipleContent(Assembler.defaultModel, JA.DefaultModel); } + @Test public void testInfModelLoadsContent() { testModelLoadsMultipleContent(Assembler.infModel, JA.InfModel); } + @Test public void testContentTransactionsNone() { final List<String> history = new ArrayList<>(); final Model expected = model("_x rdf:value '17'xsd:integer"); @@ -66,6 +73,7 @@ public class TestModelContent extends AssemblerTestBase { } catch (RuntimeException e) {} } + @Test public void testContentTransactionsCommit() { final List<String> history = new ArrayList<>(); final Model expected = model("_x rdf:value '17'xsd:integer"); @@ -76,6 +84,7 @@ public class TestModelContent extends AssemblerTestBase { ModelTestLib.assertIsoModels(expected, m); } + @Test public void testContentTransactionsAbort() { final List<String> history = new ArrayList<>(); final Model expected = model("_x rdf:value '17'xsd:integer"); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestModelExpansion.java b/jena-core/src/test/java/org/apache/jena/assembler/TestModelExpansion.java index de32b13fc3..7f3acbe662 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestModelExpansion.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestModelExpansion.java @@ -21,16 +21,18 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import java.util.*; import org.apache.jena.rdf.model.*; import org.apache.jena.test.JenaTestLib; public class TestModelExpansion extends AssemblerTestBase { - public TestModelExpansion(String name) { - super(name); - } + @Test public void testAddsSubclasses() { Model base = model("a R b"); Model schema = model("x rdfs:subClassOf y; y P z"); @@ -38,6 +40,7 @@ public class TestModelExpansion extends AssemblerTestBase { ModelTestLib.assertIsoModels(model("a R b; x rdfs:subClassOf y"), answer); } + @Test public void testOmitsAnonynousSubclasses() { Model base = model("a R b"); Model schema = model("x rdfs:subClassOf _y; z rdfs:subClassOf _a"); @@ -45,6 +48,7 @@ public class TestModelExpansion extends AssemblerTestBase { ModelTestLib.assertIsoModels(model("a R b"), answer); } + @Test public void testAddsDomainTypes() { Model base = model("a R b"); Model schema = model("R rdfs:domain T"); @@ -52,6 +56,7 @@ public class TestModelExpansion extends AssemblerTestBase { ModelTestLib.assertIsoModels(model("a R b; a rdf:type T"), answer); } + @Test public void testAddsRangeTypes() { Model base = model("a R b"); Model schema = model("R rdfs:range T"); @@ -59,12 +64,14 @@ public class TestModelExpansion extends AssemblerTestBase { ModelTestLib.assertIsoModels(model("a R b; b rdf:type T"), answer); } + @Test public void testLabelsDontCrashExpansion() { Model base = ModelFactory.createRDFSModel(model("a R b; a rdfs:label 'hello'")); Model schema = ModelFactory.createRDFSModel(model("R rdfs:range T")); Model answer = ModelExpansion.withSchema(base, schema); } + @Test public void testIntersection() { testIntersection("x rdf:type T; x rdf:type U", true, "T U"); testIntersection("x rdf:type T; x rdf:type U", true, "T"); @@ -76,7 +83,7 @@ public class TestModelExpansion extends AssemblerTestBase { Model base = model(xTyped); Model schema = intersectionModel("I", intersectionTypes); Model answer = ModelExpansion.withSchema(base, schema); - assertEquals("should [not] infer (x rdf:type I)", infers, answer.contains(ModelTestLib.statement("x rdf:type I"))); + assertEquals(infers, answer.contains(ModelTestLib.statement("x rdf:type I")), "should [not] infer (x rdf:type I)"); } private Model intersectionModel(String inter, String types) { @@ -96,6 +103,7 @@ public class TestModelExpansion extends AssemblerTestBase { return result.toString(); } + @Test public void testAddsSupertypes() { Model base = model("a rdf:type T; T rdfs:subClassOf U"); Model schema = model("T rdfs:subClassOf V"); @@ -103,18 +111,21 @@ public class TestModelExpansion extends AssemblerTestBase { ModelTestLib.assertIsoModels(model("a rdf:type T; a rdf:type U; a rdf:type V; T rdfs:subClassOf U; T rdfs:subClassOf V"), answer); } + @Test public void testSubclassClosureA() { Model m = model("A rdfs:subClassOf B; B rdfs:subClassOf C"); subClassClosure(m); ModelTestLib.assertIsoModels(model("A rdfs:subClassOf B; B rdfs:subClassOf C; A rdfs:subClassOf C"), m); } + @Test public void testSubclassClosureB() { Model m = model("A rdfs:subClassOf B; B rdfs:subClassOf C; X rdfs:subClassOf C"); subClassClosure(m); ModelTestLib.assertIsoModels(model("A rdfs:subClassOf B; B rdfs:subClassOf C; A rdfs:subClassOf C; X rdfs:subClassOf C"), m); } + @Test public void testSubclassClosureC() { Model m = model("A rdfs:subClassOf B; B rdfs:subClassOf C; X rdfs:subClassOf C; Y rdfs:subClassOf X"); subClassClosure(m); @@ -122,6 +133,7 @@ public class TestModelExpansion extends AssemblerTestBase { m); } + @Test public void testSubclassClosureD() { Model m = model("A rdfs:subClassOf B; B rdfs:subClassOf C; X rdfs:subClassOf C; Y rdfs:subClassOf X; U rdfs:subClassOf A; U rdfs:subClassOf Y"); subClassClosure(m); @@ -129,6 +141,7 @@ public class TestModelExpansion extends AssemblerTestBase { m); } + @Test public void testSubclassClosureE() { Model m = model("A rdfs:subClassOf B; B rdfs:subClassOf C"); subClassClosure(m); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelAcceptance.java b/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelAcceptance.java index 75dc384bdb..52394f11dd 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelAcceptance.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelAcceptance.java @@ -21,14 +21,15 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.ontology.*; import org.apache.jena.rdf.model.*; @SuppressWarnings("removal") public class TestOntModelAcceptance extends AssemblerTestBase { - public TestOntModelAcceptance(String name) { - super(name); - } /** * Acceptance test inherited from ontology ModelSpec tests when ModelSpec went @@ -36,6 +37,7 @@ public class TestOntModelAcceptance extends AssemblerTestBase { * some) reasoning. Probably unnecessary given the way the assembler unit test * suite works but belt-and-braces for now at least. */ + @Test public void test_ijd_01() { Model m = ModelTestLib.modelWithStatements("x ja:ontModelSpec _o" + "; _o ja:reasonerFactory _f; _o ja:ontLanguage http://www.w3.org/2002/07/owl#" diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelAssembler.java index 658219a986..afd9a84d83 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelAssembler.java @@ -21,10 +21,20 @@ package org.apache.jena.assembler; -import java.lang.reflect.Field; +import static org.junit.jupiter.api.Assertions.*; + +import java.util.Arrays; +import java.util.stream.Stream; + +import org.junit.jupiter.api.Named; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import org.junit.jupiter.api.Test; + import java.util.List; -import junit.framework.*; import org.apache.jena.assembler.assemblers.*; import org.apache.jena.ontology.*; import org.apache.jena.rdf.model.*; @@ -32,54 +42,42 @@ import org.apache.jena.test.JenaTestLib; @SuppressWarnings("removal") public class TestOntModelAssembler extends AssemblerTestBase { - public TestOntModelAssembler(String name) { - super(name); - } - - public static TestSuite suite() { - TestSuite result = new TestSuite(); - result.addTestSuite(TestOntModelAssembler.class); - addParameterisedTests(result); - return result; - } @Override protected Class<? extends Assembler> getAssemblerClass() { return OntModelAssembler.class; } + @Test public void testOntModelAssemblerType() { testDemandsMinimalType(new OntModelAssembler(), JA.OntModel); } - protected static void addParameterisedTests(TestSuite result) { - Field[] fields = OntModelSpec.class.getFields(); - for ( Field f : fields ) { - String name = f.getName(); - if ( f.getType() == OntModelSpec.class ) { - try { - result.addTest(createTest((OntModelSpec)f.get(null), name)); - } catch (Exception e) { - System.err.println("WARNING: failed to create test for OntModelSpec " + name); - } - } - } + /** One case per public {@code OntModelSpec} constant - was addParameterisedTests(). */ + static Stream<Arguments> builtinSpecs() { + return Arrays.stream(OntModelSpec.class.getFields()) + .filter(f->f.getType() == OntModelSpec.class) + .map(f->{ + try { + return Arguments.of(Named.of(f.getName(), (OntModelSpec)f.get(null)), f.getName()); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + }); } - protected static Test createTest(final OntModelSpec spec, final String name) { - return new TestOntModelAssembler(name) { - @Override - public void runBare() { - Assembler a = new OntModelAssembler(); - Model m = (Model)a.open(new FixedObjectAssembler(spec), - resourceInModel("x rdf:type ja:OntModel; x ja:ontModelSpec ja:" + name)); - JenaTestLib.assertInstanceOf(OntModel.class, m); - OntModel om = (OntModel)m; - assertSame(spec, om.getSpecification()); - } - }; + @ParameterizedTest(name = "{0}") + @MethodSource("builtinSpecs") + public void testBuiltinSpec(OntModelSpec spec, String name) { + Assembler a = new OntModelAssembler(); + Model m = (Model)a.open(new FixedObjectAssembler(spec), + resourceInModel("x rdf:type ja:OntModel; x ja:ontModelSpec ja:" + name)); + JenaTestLib.assertInstanceOf(OntModel.class, m); + OntModel om = (OntModel)m; + assertSame(spec, om.getSpecification()); } + @Test public void testAllDefaults() { Assembler a = new OntModelAssembler(); Model m = a.openModel(resourceInModel("x rdf:type ja:OntModel")); @@ -88,6 +86,7 @@ public class TestOntModelAssembler extends AssemblerTestBase { assertSame(OntModelSpec.OWL_MEM_RDFS_INF, om.getSpecification()); } + @Test public void testBaseModel() { final Model baseModel = model("a P b"); Assembler a = new OntModelAssembler(); @@ -104,6 +103,7 @@ public class TestOntModelAssembler extends AssemblerTestBase { assertSame(baseModel.getGraph(), om.getBaseModel().getGraph()); } + @Test public void testSubModels() { final Model baseModel = model("a P b"); Assembler a = new OntModelAssembler(); @@ -122,6 +122,7 @@ public class TestOntModelAssembler extends AssemblerTestBase { assertSame(baseModel.getGraph(), subModels.get(0).getBaseModel().getGraph()); } + @Test public void testDefaultDocumentManager() { Assembler a = new OntModelAssembler(); Resource root = resourceInModel("x rdf:type ja:OntModel"); @@ -129,6 +130,7 @@ public class TestOntModelAssembler extends AssemblerTestBase { assertSame(OntDocumentManager.getInstance(), om.getDocumentManager()); } + @Test public void testUsesOntModelSpec() { Assembler a = new OntModelAssembler(); Resource root = resourceInModel("x rdf:type ja:OntModel; x ja:ontModelSpec y"); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelSpecAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelSpecAssembler.java index 8dde8d41c0..3ea95c7ef8 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelSpecAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestOntModelSpecAssembler.java @@ -21,9 +21,18 @@ package org.apache.jena.assembler; -import java.lang.reflect.Field; +import static org.junit.jupiter.api.Assertions.*; + +import java.util.Arrays; +import java.util.stream.Stream; + +import org.junit.jupiter.api.Named; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import org.junit.jupiter.api.Test; -import junit.framework.*; import org.apache.jena.assembler.assemblers.*; import org.apache.jena.assembler.exceptions.ReasonerClashException; import org.apache.jena.ontology.*; @@ -36,41 +45,33 @@ import org.apache.jena.test.JenaTestLib; @SuppressWarnings("removal") public class TestOntModelSpecAssembler extends AssemblerTestBase { - public TestOntModelSpecAssembler(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return OntModelSpecAssembler.class; } + @Test public void testOntModelSpecAssemblerType() { testDemandsMinimalType(new OntModelSpecAssembler(), JA.OntModelSpec); } - public static TestSuite suite() { - TestSuite result = new TestSuite(); - result.addTestSuite(TestOntModelSpecAssembler.class); - addParameterisedTests(result); - return result; + /** One case per public {@code OntModelSpec} constant - was addParameterisedTests(). */ + static Stream<Arguments> builtinSpecs() { + return Arrays.stream(OntModelSpec.class.getFields()) + .filter(f->f.getType() == OntModelSpec.class) + .map(f->{ + try { + return Arguments.of(Named.of(f.getName(), (OntModelSpec)f.get(null)), f.getName()); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + }); } - protected static void addParameterisedTests(TestSuite result) { - Field[] fields = OntModelSpec.class.getFields(); - for ( Field f : fields ) { - String name = f.getName(); - if ( f.getType() == OntModelSpec.class ) { - try { - result.addTest(createTest((OntModelSpec)f.get(null), name)); - } catch (Exception e) { - System.err.println("WARNING: failed to create test for OntModelSpec " + name); - } - } - } - } - - protected void testBuiltinSpec(OntModelSpec ontModelSpec, String specName) { + @ParameterizedTest(name = "{0}") + @MethodSource("builtinSpecs") + public void testBuiltinSpec(OntModelSpec ontModelSpec, String specName) { testBuiltinSpecAsRootName(ontModelSpec, specName); testBuiltinSpecAsLikeTarget(ontModelSpec, specName); } @@ -85,21 +86,14 @@ public class TestOntModelSpecAssembler extends AssemblerTestBase { assertEquals(ontModelSpec, new OntModelSpecAssembler().open(root)); } - protected static Test createTest(final OntModelSpec spec, final String name) { - return new TestOntModelSpecAssembler(name) { - @Override - public void runBare() { - testBuiltinSpec(spec, name); - } - }; - } - + @Test public void testOntModelSpecVocabulary() { assertDomain(JA.OntModelSpec, JA.ontLanguage); assertDomain(JA.OntModelSpec, JA.documentManager); assertDomain(JA.OntModelSpec, JA.likeBuiltinSpec); } + @Test public void testCreateFreshDocumentManager() { Assembler a = new OntModelSpecAssembler(); Resource root = resourceInModel("x rdf:type ja:OntModelSpec; x ja:documentManager y"); @@ -109,6 +103,7 @@ public class TestOntModelSpecAssembler extends AssemblerTestBase { assertSame(dm, om.getDocumentManager()); } + @Test public void testUseSpecifiedReasoner() { Assembler a = new OntModelSpecAssembler(); Resource root = resourceInModel("x rdf:type ja:OntModelSpec; x ja:reasonerFactory R"); @@ -118,6 +113,7 @@ public class TestOntModelSpecAssembler extends AssemblerTestBase { assertSame(rf, om.getReasonerFactory()); } + @Test public void testUseSpecifiedImpliedReasoner() { testUsedSpecifiedImpliedReasoner(OWLFBRuleReasonerFactory.URI); testUsedSpecifiedImpliedReasoner(RDFSRuleReasonerFactory.URI); @@ -132,6 +128,7 @@ public class TestOntModelSpecAssembler extends AssemblerTestBase { assertSame(rf, om.getReasonerFactory()); } + @Test public void testDetectsClashingImpliedAndExplicitReasoners() { Assembler a = new OntModelSpecAssembler(); Resource root = resourceInModel("x rdf:type ja:OntModelSpec; x ja:reasonerURL R; x ja:reasonerFactory F"); @@ -144,6 +141,7 @@ public class TestOntModelSpecAssembler extends AssemblerTestBase { } } + @Test public void testUseSpecifiedLanguage() { testSpecifiedLanguage(ProfileRegistry.OWL_DL_LANG); testSpecifiedLanguage(ProfileRegistry.OWL_LANG); @@ -158,6 +156,7 @@ public class TestOntModelSpecAssembler extends AssemblerTestBase { assertEquals(lang, om.getLanguage()); } + @Test public void testSpecifiedModelGetter() { Assembler a = new OntModelSpecAssembler(); ModelGetter getter = new ModelGetter() { diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestPrefixMappingAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestPrefixMappingAssembler.java index 8e3be099bc..70e4717564 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestPrefixMappingAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestPrefixMappingAssembler.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import org.apache.jena.assembler.assemblers.PrefixMappingAssembler; import org.apache.jena.rdf.model.Resource; import org.apache.jena.shared.PrefixMapping; @@ -42,19 +46,18 @@ import org.apache.jena.test.JenaTestLib; */ public class TestPrefixMappingAssembler extends AssemblerTestBase { - public TestPrefixMappingAssembler(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return PrefixMappingAssembler.class; } + @Test public void testPrefixMappingAssemblerType() { testDemandsMinimalType(new PrefixMappingAssembler(), JA.PrefixMapping); } + @Test public void testConstructEmptyPrefixMapping() { Assembler a = new PrefixMappingAssembler(); Resource root = resourceInModel("pm rdf:type ja:PrefixMapping"); @@ -62,6 +65,7 @@ public class TestPrefixMappingAssembler extends AssemblerTestBase { JenaTestLib.assertInstanceOf(PrefixMapping.class, pm); } + @Test public void testSimplePrefixMapping() { PrefixMapping wanted = PrefixMapping.Factory.create().setNsPrefix("pre", "some:prefix/"); Assembler a = new PrefixMappingAssembler(); @@ -70,6 +74,7 @@ public class TestPrefixMappingAssembler extends AssemblerTestBase { assertSamePrefixMapping(wanted, pm); } + @Test public void testIncludesSingleMapping() { PrefixMapping wanted = PrefixMapping.Factory.create().setNsPrefix("pre", "some:prefix/"); Assembler a = new PrefixMappingAssembler(); @@ -79,6 +84,7 @@ public class TestPrefixMappingAssembler extends AssemblerTestBase { assertSamePrefixMapping(wanted, pm); } + @Test public void testIncludesMultipleMappings() { PrefixMapping wanted = PrefixMapping.Factory.create().setNsPrefix("p1", "some:prefix/").setNsPrefix("p2", "other:prefix/") .setNsPrefix("p3", "simple:prefix#"); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestReasonerFactoryAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestReasonerFactoryAssembler.java index 025aa88341..c3d0925de6 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestReasonerFactoryAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestReasonerFactoryAssembler.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import java.util.ArrayList; import java.util.HashSet; @@ -39,24 +43,23 @@ import org.apache.jena.test.JenaTestLib; public class TestReasonerFactoryAssembler extends AssemblerTestBase { private final Assembler ASSEMBLER = new ReasonerFactoryAssembler(); - public TestReasonerFactoryAssembler(String name) { - super(name); - } - @Override protected Class<? extends Assembler> getAssemblerClass() { return ReasonerFactoryAssembler.class; } + @Test public void testReasonerFactoryAssemblerType() { testDemandsMinimalType(new ReasonerFactoryAssembler(), JA.ReasonerFactory); } + @Test public void testCreateReasonerFactory() { Resource root = resourceInModel("x rdf:type ja:ReasonerFactory"); JenaTestLib.assertInstanceOf(GenericRuleReasonerFactory.class, ASSEMBLER.open(root)); } + @Test public void testStandardReasonerURLs() { testReasonerURL(GenericRuleReasonerFactory.class, GenericRuleReasonerFactory.URI); testReasonerURL(TransitiveReasonerFactory.class, TransitiveReasonerFactory.URI); @@ -66,6 +69,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { testReasonerURL(OWLMiniReasonerFactory.class, OWLMiniReasonerFactory.URI); } + @Test public void testBadReasonerURLFails() { Resource root = resourceInModel("x rdf:type ja:ReasonerFactory; x ja:reasonerURL bad:URL"); try { @@ -101,6 +105,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { } } + @Test public void testReasonerClassThrowsIfClassNotFound() { String description = "x rdf:type ja:ReasonerFactory; x ja:reasonerClass java:noSuchClass"; Resource root = resourceInModel(description); @@ -112,6 +117,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { } } + @Test public void testReasonerClassThrowsIfClassNotFactory() { String description = "x rdf:type ja:ReasonerFactory; x ja:reasonerClass java:java.util.ArrayList"; Resource root = resourceInModel(description); @@ -125,6 +131,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { } } + @Test public void testReasonerClassUsesTheInstance() { String description = "x rdf:type ja:ReasonerFactory; x ja:reasonerClass java:"; String MockName = MockFactory.class.getName(); @@ -132,6 +139,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { assertEquals(MockFactory.instance, ASSEMBLER.open(root)); } + @Test public void testReasonerClassInstantiatesIfNoInstance() { String description = "x rdf:type ja:ReasonerFactory; x ja:reasonerClass java:"; String MockName = MockBase.class.getName(); @@ -140,6 +148,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { assertNotSame(MockFactory.instance, ASSEMBLER.open(root)); } + @Test public void testMultipleURLsFails() { Resource root = resourceInModel("x rdf:type ja:ReasonerFactory; x ja:reasonerURL bad:URL; x ja:reasonerURL another:bad/URL"); try { @@ -151,6 +160,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { } } + @Test public void testOnlyGenericReasonerCanHaveRules() { String url = TransitiveReasonerFactory.URI; Resource root = resourceInModel("x rdf:type ja:ReasonerFactory; x ja:rule '[->(a\\sP\\sb)]'; x ja:reasonerURL " + url); @@ -162,6 +172,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { } catch (CannotHaveRulesException e) {} } + @Test public void testSchema() { Model schema = model("P rdf:type owl:ObjectProperty"); Resource root = resourceInModel("x rdf:type ja:ReasonerFactory; x ja:schema S"); @@ -171,6 +182,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { GraphTestLib.assertIsomorphic(schema.getGraph(), ((FBRuleReasoner)r).getBoundSchema()); } + @Test public void testSingleRules() { Resource root = resourceInModel("x rdf:type ja:ReasonerFactory; x ja:rules S"); String ruleStringA = "[rdfs2: (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)]"; @@ -187,6 +199,7 @@ public class TestReasonerFactoryAssembler extends AssemblerTestBase { assertEquals(new HashSet<>(rules.getRules()), new HashSet<>(grr.getRules())); } + @Test public void testMultipleRules() { Resource root = resourceInModel("x rdf:type ja:ReasonerFactory; x ja:rules S; x ja:rules T"); String ruleStringA = "[rdfs2: (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)]"; diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestRuleSet.java b/jena-core/src/test/java/org/apache/jena/assembler/TestRuleSet.java index 5ddea64a8c..be291a71e8 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestRuleSet.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestRuleSet.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import java.util.*; import org.apache.jena.reasoner.rulesys.Rule; @@ -28,26 +32,26 @@ import org.apache.jena.shared.BrokenException; import org.apache.jena.test.JenaTestLib; public class TestRuleSet extends AssemblerTestBase { - public TestRuleSet(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { throw new BrokenException("TestAssemblers does not need this method"); } + @Test public void testEmpty() { assertEquals(Collections.emptyList(), RuleSet.empty.getRules()); assertEquals(RuleSet.empty, RuleSet.create(Collections.<Rule> emptyList())); } + @Test public void testEmptyRuleSet() { RuleSet s = RuleSet.create(Collections.<Rule> emptyList()); assertEquals(Collections.emptyList(), s.getRules()); assertNotSame(Collections.emptyList(), s.getRules()); } + @Test public void testSingleRuleSet() { Rule rule = Rule.parseRule("[(?a P b) -> (?a rdf:type T)]"); List<Rule> list = JenaTestLib.listOfOne(rule); @@ -56,6 +60,7 @@ public class TestRuleSet extends AssemblerTestBase { assertNotSame(list, s.getRules()); } + @Test public void testMultipleRuleSet() { Rule A = Rule.parseRule("[(?a P b) -> (?a rdf:type T)]"); Rule B = Rule.parseRule("[(?a Q b) -> (?a rdf:type U)]"); @@ -65,12 +70,14 @@ public class TestRuleSet extends AssemblerTestBase { assertNotSame(rules, s.getRules()); } + @Test public void testFactoryForString() { String ruleString = "[(?a P b) -> (?a rdf:type T)]"; RuleSet s = RuleSet.create(ruleString); assertEquals(Rule.parseRules(ruleString), s.getRules()); } + @Test public void testHashAndEquality() { String A = "[(?x breaks ?y) -> (?y brokenBy ?x)]"; String B = "[(?a Q b) -> (?a rdf:type U)]"; diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestRuleSetAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestRuleSetAssembler.java index 0f08877c6e..f11608c188 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestRuleSetAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestRuleSetAssembler.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import java.util.*; import org.apache.jena.assembler.assemblers.RuleSetAssembler; @@ -28,15 +32,13 @@ import org.apache.jena.rdf.model.*; import org.apache.jena.reasoner.rulesys.Rule; public class TestRuleSetAssembler extends AssemblerTestBase { - public TestRuleSetAssembler(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return RuleSetAssembler.class; } + @Test public void testRuleSetVocabulary() { assertSubclassOf(JA.RuleSet, JA.HasRules); assertDomain(JA.HasRules, JA.rule); @@ -45,16 +47,19 @@ public class TestRuleSetAssembler extends AssemblerTestBase { assertRange(JA.RuleSet, JA.rules); } + @Test public void testRuleSetAssemblerType() { testDemandsMinimalType(new RuleSetAssembler(), JA.RuleSet); } + @Test public void testEmptyRuleSet() { Assembler a = new RuleSetAssembler(); Resource root = resourceInModel("x rdf:type ja:RuleSet"); assertEquals(RuleSet.empty, a.open(root)); } + @Test public void testSingleRuleString() { Assembler a = new RuleSetAssembler(); String ruleString = "[(?a P ?b) -> (?a Q ?b)]"; @@ -64,6 +69,7 @@ public class TestRuleSetAssembler extends AssemblerTestBase { assertEquals(expected, new HashSet<>(rules.getRules())); } + @Test public void testMultipleRuleStrings() { Assembler a = new RuleSetAssembler(); String ruleStringA = "[(?a P ?b) -> (?a Q ?b)]"; @@ -76,6 +82,7 @@ public class TestRuleSetAssembler extends AssemblerTestBase { assertEquals(expected, new HashSet<>(rules.getRules())); } + @Test public void testRulesFrom() { Assembler a = new RuleSetAssembler(); String rulesA = file("example.rules"); @@ -85,6 +92,7 @@ public class TestRuleSetAssembler extends AssemblerTestBase { assertEquals(expected, new HashSet<>(rules.getRules())); } + @Test public void testSubRules() { Assembler a = new RuleSetAssembler(); String ruleStringA = "[(?a P ?b) -> (?a Q ?b)]"; @@ -95,6 +103,7 @@ public class TestRuleSetAssembler extends AssemblerTestBase { assertEquals(expected, new HashSet<>(rules.getRules())); } + @Test public void testTrapsBadRulesObject() { testTrapsBadRuleObject("ja:rules", "'y'"); testTrapsBadRuleObject("ja:rulesFrom", "17"); diff --git a/jena-core/src/test/java/org/apache/jena/assembler/TestUnionModelAssembler.java b/jena-core/src/test/java/org/apache/jena/assembler/TestUnionModelAssembler.java index e86431f95c..b7a0b544e5 100644 --- a/jena-core/src/test/java/org/apache/jena/assembler/TestUnionModelAssembler.java +++ b/jena-core/src/test/java/org/apache/jena/assembler/TestUnionModelAssembler.java @@ -21,6 +21,10 @@ package org.apache.jena.assembler; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + import java.util.*; import org.apache.jena.assembler.assemblers.*; @@ -31,19 +35,18 @@ import org.apache.jena.shared.AddDeniedException; import org.apache.jena.test.JenaTestLib; public class TestUnionModelAssembler extends AssemblerTestBase { - public TestUnionModelAssembler(String name) { - super(name); - } @Override protected Class<? extends Assembler> getAssemblerClass() { return UnionModelAssembler.class; } + @Test public void testUnionModelAssemblerType() { testDemandsMinimalType(new UnionModelAssembler(), JA.UnionModel); } + @Test public void testUnionVocabulary() { assertSubclassOf(JA.UnionModel, JA.Model); assertDomain(JA.UnionModel, JA.subModel); @@ -52,6 +55,7 @@ public class TestUnionModelAssembler extends AssemblerTestBase { assertRange(JA.Model, JA.rootModel); } + @Test public void testCreatesMultiUnion() { Resource root = resourceInModel("x rdf:type ja:UnionModel"); Assembler a = new UnionModelAssembler(); @@ -88,6 +92,7 @@ public class TestUnionModelAssembler extends AssemblerTestBase { } } + @Test public void testCreatesUnionWithSubModels() { Resource root = resourceInModel("x rdf:type ja:UnionModel; x ja:subModel A; x ja:subModel B"); Assembler a = new UnionModelAssembler(); @@ -104,6 +109,7 @@ public class TestUnionModelAssembler extends AssemblerTestBase { checkImmutable(m); } + @Test public void testSubModelsCheckObject() { Resource root = resourceInModel("x rdf:type ja:UnionModel; x ja:subModel 'A'"); Assembler a = new UnionModelAssembler(); @@ -116,6 +122,7 @@ public class TestUnionModelAssembler extends AssemblerTestBase { } } + @Test public void testCreatesUnionWithBaseModel() { Resource root = resourceInModel("x rdf:type ja:UnionModel; x ja:subModel A; x ja:rootModel B"); Assembler a = new UnionModelAssembler();
