<?xml version="1.0" encoding="UTF-8" ?>
<!--
  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.
  -->

<test-suite suite-name="basetests"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd">
    <test-group case-name="basetests">
        <junit-test-suite class-name="org.ofbiz.base.lang.test.ComparableRangeTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.test.IndentingWriterTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.test.ObjectTypeTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.test.UtilMiscTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.test.UtilObjectTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.string.test.FlexibleStringExpanderTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.collections.test.FlexibleMapAccessorTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.test.TimeDurationTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.cache.test.UtilCacheTests"/>
        <junit-test-suite class-name="org.ofbiz.base.conversion.test.DateTimeTests"/>
        <junit-test-suite class-name="org.ofbiz.base.conversion.test.MiscTests"/>
        <junit-test-suite class-name="org.ofbiz.base.concurrent.test.DependencyPoolTests"/>
        <junit-test-suite class-name="org.ofbiz.base.json.test.JSONTests"/>
        <!--junit-test-suite class-name="org.ofbiz.base.util.test.UtilIOTests"/-->
        <junit-test-suite class-name="org.ofbiz.base.test.BaseUnitTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.test.UtilPropertiesTests"/>
        <junit-test-suite class-name="org.ofbiz.base.util.test.UtilXmlTests"/>
    </test-group>
</test-suite>
