<?xml version='1.0'?>
<TestDescriptor xmlns="http://castor.exolab.org/Test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://castor.exolab.org/Test http://castor.exolab.org/Test">
    <Name>Test xsd:dateTime schema facets</Name>
    <Author>Edward Kuns</Author>
    <Comment>CASTOR-1227</Comment>
    <Category>basic capability</Category>

    <SourceGeneratorTest>
        <Schema>test.xsd</Schema>
        <Root_Object random="false" dump="true">NumberTests</Root_Object>

        <UnitTestCase>
            <Name>Test (Un)Marshaling</Name>
            <Input>input.xml</Input>
        </UnitTestCase>

        <UnitTestCase>
            <Name>Test Byte handling</Name>
            <CustomTest>
                <TestClass>TestClassByte</TestClass>
                <Methods>
                    <Call-method name="testAddGoodValues"/>
                    <Call-method name="testUnmarshalGoodValues"/>
                    <Call-method name="testAddBadValues"/>
                    <Call-method name="testUnmarshalBadValues"/>
                </Methods>
            </CustomTest>
            <Comment>Test facets on xsd:byte</Comment>
        </UnitTestCase>

        <UnitTestCase>
            <Name>Test int handling</Name>
            <CustomTest>
                <TestClass>TestClassInt</TestClass>
                <Methods>
                    <Call-method name="testAddGoodValues"/>
                    <Call-method name="testUnmarshalGoodValues"/>
                    <Call-method name="testAddBadValues"/>
                    <Call-method name="testUnmarshalBadValues"/>
                </Methods>
            </CustomTest>
            <Comment>Test facets on xsd:int</Comment>
        </UnitTestCase>

        <UnitTestCase>
            <Name>Test integer handling</Name>
            <CustomTest>
                <TestClass>TestClassInteger</TestClass>
                <Methods>
                    <Call-method name="testAddGoodValues"/>
                    <Call-method name="testUnmarshalGoodValues"/>
                    <Call-method name="testAddBadValues"/>
                    <Call-method name="testUnmarshalBadValues"/>
                </Methods>
            </CustomTest>
            <Comment>Test facets on xsd:integer</Comment>
        </UnitTestCase>

        <UnitTestCase>
            <Name>Test short handling</Name>
            <CustomTest>
                <TestClass>TestClassShort</TestClass>
                <Methods>
                    <Call-method name="testAddGoodValues"/>
                    <Call-method name="testUnmarshalGoodValues"/>
                    <Call-method name="testAddBadValues"/>
                    <Call-method name="testUnmarshalBadValues"/>
                </Methods>
            </CustomTest>
            <Comment>Test facets on xsd:short</Comment>
        </UnitTestCase>

        <UnitTestCase>
            <Name>Test unsigned long handling</Name>
            <CustomTest>
                <TestClass>TestClassUnsignedLong</TestClass>
                <Methods>
                    <Call-method name="testAddGoodValues"/>
                    <Call-method name="testUnmarshalGoodValues"/>
                    <Call-method name="testAddBadValues"/>
                    <Call-method name="testUnmarshalBadValues"/>
                </Methods>
            </CustomTest>
            <Comment>Test facets on xsd:unsignedLong</Comment>
        </UnitTestCase>

        <UnitTestCase>
            <Name>Test decimal handling</Name>
            <CustomTest>
                <TestClass>TestClassDecimal</TestClass>
                <Methods>
                    <Call-method name="testAddGoodValues"/>
                    <Call-method name="testUnmarshalGoodValues"/>
                    <Call-method name="testAddBadValues"/>
                    <Call-method name="testUnmarshalBadValues"/>
                </Methods>
            </CustomTest>
            <Comment>Test facets on xsd:decimal</Comment>
        </UnitTestCase>

    </SourceGeneratorTest>
</TestDescriptor>
