blob: 42ada6e78c8cfffa005505300fc8a82897c75850 [file] [log] [blame]
/* Copyright 2004 The Apache Software Foundation
*
* Licensed 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 tools.inst2xsd.checkin;
import org.junit.Test;
import tools.inst2xsd.common.Inst2XsdTestBase;
public class Inst2XsdAttrTest extends Inst2XsdTestBase {
// List of precedence for smart simple primitive type determination
// byte, short, int, long, integer, float, double, decimal,
// boolean
// date, dateTime, time, gDuration,
// QName ?,
// anyUri ? - triggered only for http:// or www. constructs,
// list types ?
// string
@Test
public void test_attrstring() throws Exception {
runAttrTypeChecking(getAttrTypeXml("a"), "string");
runAttrTypeChecking(getAttrTypeXml("a2a"), "string");
runAttrTypeChecking(getAttrTypeXml("a b c\n hello\t from\n\txmlbeans"), "string");
}
@Test
public void test_attrshort() throws Exception {
runAttrTypeChecking(getAttrTypeXml("-129"), "short");
runAttrTypeChecking(getAttrTypeXml("128"), "short");
runAttrTypeChecking(getAttrTypeXml("3000"), "short");
runAttrTypeChecking(getAttrTypeXml("-3000"), "short");
runAttrTypeChecking(getAttrTypeXml("-32768"), "short");
runAttrTypeChecking(getAttrTypeXml("32767"), "short");
}
@Test
public void test_attrint() throws Exception {
runAttrTypeChecking(getAttrTypeXml("39000"), "int");
runAttrTypeChecking(getAttrTypeXml("32768"), "int");
runAttrTypeChecking(getAttrTypeXml("-32769"), "int");
runAttrTypeChecking(getAttrTypeXml("-39000"), "int");
runAttrTypeChecking(getAttrTypeXml("126789675"), "int");
runAttrTypeChecking(getAttrTypeXml("2147483647"), "int");
runAttrTypeChecking(getAttrTypeXml("-2147483648"), "int");
}
@Test
public void test_attrlong() throws Exception {
runAttrTypeChecking(getAttrTypeXml("2147483648"), "long");
runAttrTypeChecking(getAttrTypeXml("-2147483649"), "long");
runAttrTypeChecking(getAttrTypeXml("-2150000000"), "long");
runAttrTypeChecking(getAttrTypeXml("2150000000"), "long");
runAttrTypeChecking(getAttrTypeXml("-9223372036854775808"), "long");
runAttrTypeChecking(getAttrTypeXml("9223372036854775807"), "long");
}
@Test
public void test_attrinteger() throws Exception {
runAttrTypeChecking(getAttrTypeXml("9300000000000000000"), "integer");
runAttrTypeChecking(getAttrTypeXml("-9300000000000000000"), "integer");
runAttrTypeChecking(getAttrTypeXml("-9223372036854775809"), "integer");
runAttrTypeChecking(getAttrTypeXml("9223372036854775808"), "integer");
}
@Test
public void test_attrfloat() throws Exception {
runAttrTypeChecking(getAttrTypeXml("12.78e-2"), "float");
runAttrTypeChecking(getAttrTypeXml("1267.43233E12"), "float");
runAttrTypeChecking(getAttrTypeXml("-1E4"), "float");
runAttrTypeChecking(getAttrTypeXml("INF"), "float");
runAttrTypeChecking(getAttrTypeXml("-INF"), "float");
runAttrTypeChecking(getAttrTypeXml("NaN"), "float");
runAttrTypeChecking(getAttrTypeXml("-1.23"), "float");
runAttrTypeChecking(getAttrTypeXml("12678967.543233"), "float");
runAttrTypeChecking(getAttrTypeXml("+100000.00"), "float");
}
@Test
public void test_attrdate() throws Exception {
runAttrTypeChecking(getAttrTypeXml("1999-05-31"), "date");
}
@Test
public void test_attrdateTime() throws Exception {
runAttrTypeChecking(getAttrTypeXml("1999-05-31T13:20:00-05:00"), "dateTime");
runAttrTypeChecking(getAttrTypeXml("2000-03-04T20:00:00Z"), "dateTime");
runAttrTypeChecking(getAttrTypeXml("2000-03-04T23:00:00+03:00"), "dateTime");
}
@Test
public void test_attrtime() throws Exception {
runAttrTypeChecking(getAttrTypeXml("13:20:00-05:00"), "time");
runAttrTypeChecking(getAttrTypeXml("00:00:00"), "time");
runAttrTypeChecking(getAttrTypeXml("13:20:00Z"), "time");
}
@Test
public void test_attrbyte() throws Exception {
runAttrTypeChecking(getAttrTypeXml("123"), "byte");
runAttrTypeChecking(getAttrTypeXml("+100"), "byte");
runAttrTypeChecking(getAttrTypeXml("-1"), "byte");
runAttrTypeChecking(getAttrTypeXml("0"), "byte");
runAttrTypeChecking(getAttrTypeXml("127"), "byte");
runAttrTypeChecking(getAttrTypeXml("-128"), "byte");
}
@Test
public void test_attrduration() throws Exception {
runAttrTypeChecking(getAttrTypeXml("P1347Y"), "duration");
runAttrTypeChecking(getAttrTypeXml("P1347M"), "duration");
runAttrTypeChecking(getAttrTypeXml("P1Y2MT2H"), "duration");
runAttrTypeChecking(getAttrTypeXml("P0Y1347M"), "duration");
runAttrTypeChecking(getAttrTypeXml("P0Y1347M0D"), "duration");
runAttrTypeChecking(getAttrTypeXml("-P1347M"), "duration");
}
}