<?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.
-->

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" verbose="1" parallel="tests" thread-count="1">
  <test name="Test">
    <classes>
      <class name="org.apache.mnemonic.collections.DurableNodeValueNGTest"/> 
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->


<!--
      <class name="org.apache.mnemonic.collections.Person"/>
      <class name="org.apache.mnemonic.collections.DurablePersonNGTest"/>
      <class name="org.apache.mnemonic.collections.DurableListNGTest"/>
      <class name="org.apache.mnemonic.collections.DurableNodeValueNGTest"/> 
 -->
