// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/FileSystemPath.java
// public interface FileSystemPath {
//     Path path();
// 
//     boolean exist();
// 
//     final class Fake implements FileSystemPath {
// 
//         private final Path path;
//         private final boolean exist;
// 
//         public Fake() {
//             this(Paths.get("."), false);
//         }
// 
//         public Fake(String path) {
//             this(Paths.get(path), false);
//         }
// 
//         public Fake(String path, boolean exist) {
//             this(Paths.get(path), exist);
//         }
// 
//         public Fake(Path path, boolean exist) {
//             this.path = path;
//             this.exist = exist;
//         }
// 
//         @Override
//         public Path path() {
//             return path;
//         }
// 
//         @Override
//         public boolean exist() {
//             return exist;
//         }
//     }
// }
// 
// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/Suite.java
// public interface Suite<D> {
// 
//     /**
//      * Returns tests from the suite.
//      *
//      * @return a test or tests
//      * @throws SuiteException if some error occurs
//      */
//     D tests() throws SuiteException;
// }
// 
// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/SuiteException.java
// public class SuiteException extends SunshineException {
//     public SuiteException(String message) {
//         super(message);
//     }
// 
//     public SuiteException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public SuiteException(Throwable cause) {
//         super(cause);
//     }
// }


import org.tatools.sunshine.core.FileSystemPath;
import org.tatools.sunshine.core.Suite;
import org.tatools.sunshine.core.SuiteException;
package org.tatools.sunshine.testng;


/**
 * @author Dmytro Serdiuk (dmytro.serdiuk@gmail.com)
 * @version $Id$
 * @since 0.1
 */
public interface TestNGSuite extends Suite<FileSystemPath> {
    /**
     * Return a TestNG tests file.
     *
     * @return an instance of {@link FileSystemPath}.
     * @throws SuiteException if some error occurs
     */
    @Override
// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/FileSystemPath.java
// public interface FileSystemPath {
//     Path path();
// 
//     boolean exist();
// 
//     final class Fake implements FileSystemPath {
// 
//         private final Path path;
//         private final boolean exist;
// 
//         public Fake() {
//             this(Paths.get("."), false);
//         }
// 
//         public Fake(String path) {
//             this(Paths.get(path), false);
//         }
// 
//         public Fake(String path, boolean exist) {
//             this(Paths.get(path), exist);
//         }
// 
//         public Fake(Path path, boolean exist) {
//             this.path = path;
//             this.exist = exist;
//         }
// 
//         @Override
//         public Path path() {
//             return path;
//         }
// 
//         @Override
//         public boolean exist() {
//             return exist;
//         }
//     }
// }
// 
// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/Suite.java
// public interface Suite<D> {
// 
//     /**
//      * Returns tests from the suite.
//      *
//      * @return a test or tests
//      * @throws SuiteException if some error occurs
//      */
//     D tests() throws SuiteException;
// }
// 
// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/SuiteException.java
// public class SuiteException extends SunshineException {
//     public SuiteException(String message) {
//         super(message);
//     }
// 
//     public SuiteException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public SuiteException(Throwable cause) {
//         super(cause);
//     }
// }


// Path: sunshine-testng/src/main/java/org/tatools/sunshine/testng/TestNGSuite.java
import org.tatools.sunshine.core.FileSystemPath;
import org.tatools.sunshine.core.Suite;
import org.tatools.sunshine.core.SuiteException;

package org.tatools.sunshine.testng;


/**
 * @author Dmytro Serdiuk (dmytro.serdiuk@gmail.com)
 * @version $Id$
 * @since 0.1
 */
public interface TestNGSuite extends Suite<FileSystemPath> {
    /**
     * Return a TestNG tests file.
     *
     * @return an instance of {@link FileSystemPath}.
     * @throws SuiteException if some error occurs
     */
    @Override
    FileSystemPath tests() throws SuiteException;