/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotools.xs;
import org.eclipse.xsd.XSDSimpleTypeDefinition;
import java.lang.reflect.Field;
import javax.xml.namespace.QName;
import org.geotools.xml.ElementInstance;
public class TestSchemaTest extends TestSchema {
public void testInitialize() {
assertNotNull(url);
assertNotNull(schema);
assertNotNull(factory);
}
public void testStratagyQName() throws Exception {
assertNotNull(stratagy(XS.ANYSIMPLETYPE));
}
public void testStratagyName() throws Exception {
assertNotNull(stratagy("anySimpleType"));
try {
stratagy("bork");
fail("bork should not be found");
} catch (Exception expected) {
// good!
}
}
public void testXS() throws Exception {
assertEquals(XS.ANYSIMPLETYPE, xs("anySimpleType"));
try {
xs("bork");
fail("bork should not be found");
} catch (Exception expected) {
// good!
}
}
public void testSchemaIdentiy() {
assertNotNull(schema);
assertNotNull(xsd);
assertEquals("1.0", xsd.getVersion());
}
/** Look into "builtin" schema for schema (aka xsd ?) */
public void testXSDSimpleTypes() throws Exception {
XSDSimpleTypeDefinition any = xsdSimple("anySimpleType");
assertNotNull("Found", any);
}
/** Look into parsed schema - should agree with XMLSchema */
public void testSchemaSimpleTypes() throws Exception {
XSDSimpleTypeDefinition any = xsdSimple("anySimpleType");
assertNotNull("Found", any);
}
public void testAllSimpleTypes() throws Exception {
Class xs = XS.class;
Field[] fields = xs.getFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
if (field.getType() != QName.class) {
continue;
}
QName name = (QName) field.get(null);
XSDSimpleTypeDefinition aXsd = xsdSimple(name.getLocalPart());
if (aXsd == null) {
//System.out.println( "Could not find binding for " + name.getLocalPart() );
}
}
}
public void testElement() {
ElementInstance element = element(" hello world ", XS.ANYSIMPLETYPE);
assertEquals(" hello world ", element.getText());
assertEquals(xsdSimple(XS.ANYSIMPLETYPE.getLocalPart()),
element.getElementDeclaration().getType());
}
protected QName getQName() {
// TODO Auto-generated method stub
return null;
}
}