summaryrefslogtreecommitdiffstats
path: root/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/XMLWithoutSchemaTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/XMLWithoutSchemaTest.java')
-rw-r--r--java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/XMLWithoutSchemaTest.java151
1 files changed, 0 insertions, 151 deletions
diff --git a/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/XMLWithoutSchemaTest.java b/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/XMLWithoutSchemaTest.java
deleted file mode 100644
index 851bd5bb06..0000000000
--- a/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/XMLWithoutSchemaTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * 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 test.sdo21.tests.api;
-
-import junit.framework.TestCase;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-
-/**
- * This tests compliance with section 9.10 of the SDO 2.1 Java specification.
- */
-public class XMLWithoutSchemaTest extends TestCase {
-
-
- public XMLWithoutSchemaTest(String string) {
- super(string);
- }
-
- //protected String xml = "<XMLWithoutSchemaTest xmlns=\"http://test/\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" +
- //above runs very slowly, because it tries to resolve (until timeout) the xmlns="http://test/"
- protected String xml = "<XMLWithoutSchemaTest xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" +
- "<person id=\"1\"><name>Joe</name><age xsi:type=\"xs:int\">21</age></person>" +
- "<person id=\"2\"><name>Sam</name><age xsi:type=\"xs:int\">40</age></person>" +
- "</XMLWithoutSchemaTest>";
-
-
- public void testRootObject() {
- // section 9.10 bullet 1 states that "The rootObject of the document will
- // be an open, sequenced, mixed data object"
- XMLDocument doc = XMLHelper.INSTANCE.load( xml );
- DataObject root = doc.getRootObject();
- assertTrue( root.getType().isOpen() );
- assertTrue( root.getType().isSequenced() );
- }
-
- public void testAttributeProperties() {
- // section 9.10 bullet 3 states that "Attributes for which no meta-information is available
- // are interpreted as open content String properties, where the name of the property is the
- // local name of the attribute"
- XMLDocument doc = XMLHelper.INSTANCE.load( xml );
- DataObject root = doc.getRootObject();
- DataObject person = root.getDataObject( "person.0" );
-
- // test that the property is correctly defined
- Property idProperty = person.getInstanceProperty( "id" );
- assertTrue( idProperty.isOpenContent() );
- assertTrue( idProperty.getType().isDataType() );
- //FB assertEquals( "String", idProperty.getType().getName() );
- assertEquals( "Object", idProperty.getType().getName() ); //FB Tuscany is doing this. Is this right?
-
- // test that we can access the instance property
- String name = person.getString( idProperty );
- assertEquals( "1", name );
- }
-
- public void testElementProperties() {
- XMLDocument doc = XMLHelper.INSTANCE.load( xml );
- DataObject root = doc.getRootObject();
-
- // section 9.10 bullet 4 states that "Elements for which no meta-information is available
- // are interpreted as open content properties, where the name of the property is the local
- // name of the element. The property will always have containment=true."
- Property personProperty = root.getInstanceProperty( "person" );
- assertTrue( personProperty.isContainment() );
-
- // section 9.10 bullet 6 states that if there is no xsi:type on a complex element
- // then the value's type will be "open, sequenced, mixed type".
- assertTrue( personProperty.isOpenContent() );
- //FB assertTrue( personProperty.getType().isSequenced() );
- //FB see inconsistency in testComplexElementWithSimpleContent()
-
- // section 9.10 bullet 5 states that "If multiple elements with the same property name
- // occur within the definition of a single type, the open content property corresponding
- // to the element will have isMany=true."
- //FB assertTrue( personProperty.isMany() );
- //FB isMany of an open content property depends on it's context
-
- // test that we can access the instance property
- //FB DataObject person = root.getDataObject( personProperty );
- DataObject person = root.getDataObject( "person.0" );
- assertNotNull( person );
- }
-
- public void testComplexElementWithXsiType() {
- XMLDocument doc = XMLHelper.INSTANCE.load( xml );
- DataObject root = doc.getRootObject();
- // section 9.10 bullet 6 states that "If an element contains an xsi:type attribute, it is
- // used to determine the type of the value"
- DataObject person = root.getDataObject( "person.0" );
- Property ageProperty = person.getInstanceProperty( "age" );
- assertEquals( "commonj.sdo", ageProperty.getType().getURI() );
- //FB assertEquals( "Int", ageProperty.getType().getName() );
- assertEquals( "DataObject", ageProperty.getType().getName() ); //FB Tuscany, is this right?
- }
-
- public void testElementsWithSimpleContent() {
- // section 9.10 bullet 6 states that "If no xsi:type attribute is present, then the values's type
- // will be {commonj.sdo}String if the contents of the element is simple"
- XMLDocument doc = XMLHelper.INSTANCE.load( xml );
- DataObject root = doc.getRootObject();
- DataObject person = root.getDataObject( "person.0" );
-
- // test that the property is correctly defined
- Property nameProperty = person.getInstanceProperty( "name" );
- assertTrue( nameProperty.isOpenContent() );
- assertTrue( nameProperty.getType().isDataType() );
- assertEquals( "String", nameProperty.getType().getName() );
-
- // test that we can access the instance property
- String name = person.getString( nameProperty );
- assertEquals( "Joe", name );
- }
-
- public void testComplexElementWithSimpleContent() {
- //String xml = "<root xmlns=\"http://test/\"><name lang=\"en_US\">Adam</name></root>";
- //above runs very slowly, because it tries to resolve (until timeout) the xmlns="http://test/"
- String xml = "<root><name lang=\"en_US\">Adam</name></root>";
- XMLDocument doc = XMLHelper.INSTANCE.load( xml );
- DataObject root = doc.getRootObject();
- Property nameProperty = root.getInstanceProperty( "name" );
-
- assertEquals( "commonj.sdo", nameProperty.getType().getURI() );
- assertEquals( "DataObject", nameProperty.getType().getName() );
- //FB This check is inconsistent with the check in testElementProperties()
- //FB assertTrue( personProperty.getType().isSequenced() );
- //FB because commonj.sdo.DataObject is not a sequenced type....
-
- DataObject dobj = root.getDataObject( "name.0" );
- assertEquals( "en_US", dobj.getString( "lang" ) );
- assertEquals( "Adam", dobj.getSequence().getValue(0) );
- }
-}