/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.jena.rdf.model.test; import org.apache.jena.rdf.model.* ; import org.apache.jena.rdf.model.test.helpers.ModelHelper ; import org.apache.jena.rdf.model.test.helpers.TestingModelFactory ; import org.apache.jena.test.JenaTestBase ; import org.apache.jena.vocabulary.RDF ; import org.junit.Assert; /** * TestResourceImpl - fresh tests, make sure as-ing works a bit. */ public class TestResourceImpl extends AbstractModelTestBase { public TestResourceImpl( final TestingModelFactory modelFactory, final String name ) { super(modelFactory, name); } public void testAddLiteralPassesLiteralUnmodified() { final Resource r = model.createResource(); final Literal lit = model.createLiteral("spoo"); r.addLiteral(RDF.value, lit); Assert.assertTrue("model should contain unmodified literal", model.contains(null, RDF.value, lit)); } public void testAddTypedPropertyBoolean() { final Resource r = model.createResource(); r.addLiteral(RDF.value, true); Assert.assertEquals(model.createTypedLiteral(true), r.getProperty(RDF.value).getLiteral()); } public void testAddTypedPropertyChar() { final Resource r = model.createResource(); r.addLiteral(RDF.value, 'x'); Assert.assertEquals(model.createTypedLiteral('x'), r.getProperty(RDF.value).getLiteral()); } public void testAddTypedPropertyDouble() { final Resource r = model.createResource(); r.addLiteral(RDF.value, 1.0d); Assert.assertEquals(model.createTypedLiteral(1.0d), r.getProperty(RDF.value).getLiteral()); } public void testAddTypedPropertyFloat() { final Resource r = model.createResource(); r.addLiteral(RDF.value, 1.0f); Assert.assertEquals(model.createTypedLiteral(1.0f), r.getProperty(RDF.value).getLiteral()); } public void testAddTypedPropertyInt() { // Model model = ModelFactory.createDefaultModel(); // Resource r = model.createResource(); // r.addLiteral( RDF.value, 1 ); // assertEquals( model.createTypedLiteral( 1 ), r.getProperty( RDF.value // ).getLiteral() ); } public void testAddTypedPropertyLong() { final Resource r = model.createResource(); r.addLiteral(RDF.value, 1L); Assert.assertEquals(model.createTypedLiteral(1L), r.getProperty(RDF.value).getLiteral()); } public void testAddTypedPropertyObject() { final Object z = new Object(); final Resource r = model.createResource(); r.addLiteral(RDF.value, z); Assert.assertEquals(model.createTypedLiteral(z), r.getProperty(RDF.value).getLiteral()); } public void testAddTypedPropertyString() { } /** * Test that a literal node cannot be as'ed into a resource. */ public void testAsLiteral() { try { ModelHelper.literal(model, "17").as(Resource.class); Assert.fail("literals cannot be resources"); } catch (final ResourceRequiredException e) { JenaTestBase.pass(); } } /** * Test that a non-literal node can be as'ed into a resource */ public void testCannotAsNonLiteral() { ModelHelper.resource(model, "plumPie").as(Resource.class); } public void testGetLocalNameReturnsLocalName() { Assert.assertEquals("xyz", ModelHelper.resource("eh:xyz") .getLocalName()); } public void testGetModel() { Assert.assertSame(model, model.createResource("eh:/wossname") .getModel()); } public void testGetPropertyResourceValueReturnsNull() { final Model model = ModelHelper.modelWithStatements(this, "x p 17"); final Resource r = model.createResource("eh:/x"); Assert.assertNull(r.getPropertyResourceValue(ModelHelper.property("q"))); Assert.assertNull(r.getPropertyResourceValue(ModelHelper.property("p"))); } public void testGetPropertyResourceValueReturnsResource() { final Model model = ModelHelper.modelWithStatements(this, "x p 17; x p y"); final Resource r = model.createResource("eh:/x"); final Resource value = r.getPropertyResourceValue(ModelHelper .property("p")); Assert.assertEquals(ModelHelper.resource("y"), value); } public void testHasTypedPropertyBoolean() { final Resource r = model.createResource(); r.addLiteral(RDF.value, false); Assert.assertTrue(r.hasLiteral(RDF.value, false)); } public void testHasTypedPropertyChar() { final Resource r = model.createResource(); r.addLiteral(RDF.value, 'x'); Assert.assertTrue(r.hasLiteral(RDF.value, 'x')); } public void testHasTypedPropertyDouble() { final Resource r = model.createResource(); r.addLiteral(RDF.value, 1.0d); Assert.assertTrue(r.hasLiteral(RDF.value, 1.0d)); } public void testHasTypedPropertyFloat() { final Resource r = model.createResource(); r.addLiteral(RDF.value, 1.0f); Assert.assertTrue(r.hasLiteral(RDF.value, 1.0f)); } public void testHasTypedPropertyInt() { final Resource r = model.createResource(); r.addLiteral(RDF.value, 1); Assert.assertTrue(r.hasLiteral(RDF.value, 1)); } public void testHasTypedPropertyLong() { final Resource r = model.createResource(); r.addLiteral(RDF.value, 1L); Assert.assertTrue(r.hasLiteral(RDF.value, 1L)); } public void testHasTypedPropertyObject() { final Object z = new Object(); final Resource r = model.createResource(); r.addLiteral(RDF.value, z); Assert.assertTrue(r.hasLiteral(RDF.value, z)); } public void testHasTypedPropertyString() { } public void testHasURI() { Assert.assertTrue(ModelHelper.resource("eh:xyz").hasURI("eh:xyz")); Assert.assertFalse(ModelHelper.resource("eh:xyz").hasURI("eh:1yz")); Assert.assertFalse(ResourceFactory.createResource().hasURI("42")); } public void testNameSpace() { Assert.assertEquals("eh:", ModelHelper.resource("eh:xyz") .getNameSpace()); Assert.assertEquals("http://d/", ModelHelper.resource("http://d/stuff") .getNameSpace()); Assert.assertEquals("ftp://dd.com/12345", ModelHelper.resource("ftp://dd.com/12345").getNameSpace()); Assert.assertEquals("http://domain/spoo#", ModelHelper.resource("http://domain/spoo#anchor") .getNameSpace()); Assert.assertEquals("ftp://abd/def#ghi#", ModelHelper.resource("ftp://abd/def#ghi#e11-2").getNameSpace()); } }