From dd71e21946101cd71edb5a91c3f90ca4b0b3d659 Mon Sep 17 00:00:00 2001 From: Martin Ledvinka Date: Thu, 24 Mar 2022 08:33:01 +0100 Subject: [PATCH] [Bug #108] Add integration tests for mapping special floating point values (-INF, INF, NaN). --- ...icitDatatypesTest.java => DataTypesTest.java} | 8 ++++---- ...icitDatatypesTest.java => DataTypesTest.java} | 8 ++++---- ...icitDatatypesTest.java => DataTypesTest.java} | 8 ++++---- ...DatatypesRunner.java => DataTypesRunner.java} | 16 ++++++++++++++-- 4 files changed, 26 insertions(+), 14 deletions(-) rename jopa-integration-tests-jena/src/test/java/cz/cvut/kbss/jopa/test/integration/jena/{ExplicitDatatypesTest.java => DataTypesTest.java} (79%) rename jopa-integration-tests-owlapi/src/test/java/cz/cvut/kbss/jopa/test/integration/owlapi/{ExplicitDatatypesTest.java => DataTypesTest.java} (85%) rename jopa-integration-tests-sesame/src/test/java/cz/cvut/kbss/jopa/test/integration/sesame/{ExplicitDatatypesTest.java => DataTypesTest.java} (79%) rename jopa-integration-tests/src/main/java/cz/cvut/kbss/jopa/test/runner/{ExplicitDatatypesRunner.java => DataTypesRunner.java} (85%) diff --git a/jopa-integration-tests-jena/src/test/java/cz/cvut/kbss/jopa/test/integration/jena/ExplicitDatatypesTest.java b/jopa-integration-tests-jena/src/test/java/cz/cvut/kbss/jopa/test/integration/jena/DataTypesTest.java similarity index 79% rename from jopa-integration-tests-jena/src/test/java/cz/cvut/kbss/jopa/test/integration/jena/ExplicitDatatypesTest.java rename to jopa-integration-tests-jena/src/test/java/cz/cvut/kbss/jopa/test/integration/jena/DataTypesTest.java index 8b946cc73..726888508 100644 --- a/jopa-integration-tests-jena/src/test/java/cz/cvut/kbss/jopa/test/integration/jena/ExplicitDatatypesTest.java +++ b/jopa-integration-tests-jena/src/test/java/cz/cvut/kbss/jopa/test/integration/jena/DataTypesTest.java @@ -16,15 +16,15 @@ import cz.cvut.kbss.jopa.test.environment.JenaDataAccessor; import cz.cvut.kbss.jopa.test.environment.JenaPersistenceFactory; -import cz.cvut.kbss.jopa.test.runner.ExplicitDatatypesRunner; +import cz.cvut.kbss.jopa.test.runner.DataTypesRunner; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ExplicitDatatypesTest extends ExplicitDatatypesRunner { +public class DataTypesTest extends DataTypesRunner { - private static final Logger LOG = LoggerFactory.getLogger(ExplicitDatatypesTest.class); + private static final Logger LOG = LoggerFactory.getLogger(DataTypesTest.class); - public ExplicitDatatypesTest() { + public DataTypesTest() { super(LOG, new JenaPersistenceFactory(), new JenaDataAccessor()); } } diff --git a/jopa-integration-tests-owlapi/src/test/java/cz/cvut/kbss/jopa/test/integration/owlapi/ExplicitDatatypesTest.java b/jopa-integration-tests-owlapi/src/test/java/cz/cvut/kbss/jopa/test/integration/owlapi/DataTypesTest.java similarity index 85% rename from jopa-integration-tests-owlapi/src/test/java/cz/cvut/kbss/jopa/test/integration/owlapi/ExplicitDatatypesTest.java rename to jopa-integration-tests-owlapi/src/test/java/cz/cvut/kbss/jopa/test/integration/owlapi/DataTypesTest.java index 112b27124..5cd0a67eb 100644 --- a/jopa-integration-tests-owlapi/src/test/java/cz/cvut/kbss/jopa/test/integration/owlapi/ExplicitDatatypesTest.java +++ b/jopa-integration-tests-owlapi/src/test/java/cz/cvut/kbss/jopa/test/integration/owlapi/DataTypesTest.java @@ -16,18 +16,18 @@ import cz.cvut.kbss.jopa.test.environment.OwlapiDataAccessor; import cz.cvut.kbss.jopa.test.environment.OwlapiPersistenceFactory; -import cz.cvut.kbss.jopa.test.runner.ExplicitDatatypesRunner; +import cz.cvut.kbss.jopa.test.runner.DataTypesRunner; import org.semanticweb.owlapi.model.OWLOntology; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.net.URI; -public class ExplicitDatatypesTest extends ExplicitDatatypesRunner { +public class DataTypesTest extends DataTypesRunner { - private static final Logger LOG = LoggerFactory.getLogger(ExplicitDatatypesTest.class); + private static final Logger LOG = LoggerFactory.getLogger(DataTypesTest.class); - public ExplicitDatatypesTest() { + public DataTypesTest() { super(LOG, new OwlapiPersistenceFactory(), new OwlapiDataAccessor()); } diff --git a/jopa-integration-tests-sesame/src/test/java/cz/cvut/kbss/jopa/test/integration/sesame/ExplicitDatatypesTest.java b/jopa-integration-tests-sesame/src/test/java/cz/cvut/kbss/jopa/test/integration/sesame/DataTypesTest.java similarity index 79% rename from jopa-integration-tests-sesame/src/test/java/cz/cvut/kbss/jopa/test/integration/sesame/ExplicitDatatypesTest.java rename to jopa-integration-tests-sesame/src/test/java/cz/cvut/kbss/jopa/test/integration/sesame/DataTypesTest.java index 1a7647a4b..da73a53e5 100644 --- a/jopa-integration-tests-sesame/src/test/java/cz/cvut/kbss/jopa/test/integration/sesame/ExplicitDatatypesTest.java +++ b/jopa-integration-tests-sesame/src/test/java/cz/cvut/kbss/jopa/test/integration/sesame/DataTypesTest.java @@ -16,15 +16,15 @@ import cz.cvut.kbss.jopa.test.environment.SesameDataAccessor; import cz.cvut.kbss.jopa.test.environment.SesamePersistenceFactory; -import cz.cvut.kbss.jopa.test.runner.ExplicitDatatypesRunner; +import cz.cvut.kbss.jopa.test.runner.DataTypesRunner; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ExplicitDatatypesTest extends ExplicitDatatypesRunner { +public class DataTypesTest extends DataTypesRunner { - private static final Logger LOG = LoggerFactory.getLogger(ExplicitDatatypesTest.class); + private static final Logger LOG = LoggerFactory.getLogger(DataTypesTest.class); - public ExplicitDatatypesTest() { + public DataTypesTest() { super(LOG, new SesamePersistenceFactory(), new SesameDataAccessor()); } } diff --git a/jopa-integration-tests/src/main/java/cz/cvut/kbss/jopa/test/runner/ExplicitDatatypesRunner.java b/jopa-integration-tests/src/main/java/cz/cvut/kbss/jopa/test/runner/DataTypesRunner.java similarity index 85% rename from jopa-integration-tests/src/main/java/cz/cvut/kbss/jopa/test/runner/ExplicitDatatypesRunner.java rename to jopa-integration-tests/src/main/java/cz/cvut/kbss/jopa/test/runner/DataTypesRunner.java index 1b82e23fa..a30b4cb91 100644 --- a/jopa-integration-tests/src/main/java/cz/cvut/kbss/jopa/test/runner/ExplicitDatatypesRunner.java +++ b/jopa-integration-tests/src/main/java/cz/cvut/kbss/jopa/test/runner/DataTypesRunner.java @@ -34,11 +34,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -public abstract class ExplicitDatatypesRunner extends BaseRunner { +public abstract class DataTypesRunner extends BaseRunner { private static final String VALUE = "P1Y"; - public ExplicitDatatypesRunner(Logger logger, PersistenceFactory persistenceFactory, DataAccessor dataAccessor) { + public DataTypesRunner(Logger logger, PersistenceFactory persistenceFactory, DataAccessor dataAccessor) { super(logger, persistenceFactory, dataAccessor); } @@ -99,4 +99,16 @@ public void pluralAttributesWithExplicitDatatypeAreSupported() { final OWLClassX result = findRequired(OWLClassX.class, entity.getUri()); assertEquals(values, result.getExplicitDatatypes()); } + + @Test + public void floatingPointAttributesSupportInfinityMapping() { + this.em = getEntityManager("floatingPointAttributesSupportInfinity", false); + entityM.setFloatAttribute(Float.NEGATIVE_INFINITY); + entityM.setDoubleAttribute(Double.POSITIVE_INFINITY); + persist(entityM); + + final OWLClassM result = findRequired(OWLClassM.class, entityM.getKey()); + assertEquals(Float.NEGATIVE_INFINITY, result.getFloatAttribute()); + assertEquals(Double.POSITIVE_INFINITY, result.getDoubleAttribute()); + } }