// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/KernelException.java
// public class KernelException extends SunshineException {
//     public KernelException(String message) {
//         super(message);
//     }
// 
//     public KernelException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public KernelException(Throwable cause) {
//         super(cause);
//     }
// }
// 
// 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.hamcrest.MatcherAssert;
import org.hamcrest.Matchers;
import org.junit.Test;
import org.junit.runner.Description;
import org.junit.runner.notification.RunListener;
import org.tatools.sunshine.core.KernelException;
import org.tatools.sunshine.core.SuiteException;
package org.tatools.sunshine.junit4;


/**
 * @author Dmytro Serdiuk (dmytro.serdiuk@gmail.com)
 * @version $Id$
 * @since 0.2
 */
public class Junit4KernelTest {

    @Test
    public void run() throws KernelException {
        MatcherAssert.assertThat(
                new Junit4Kernel(() -> new Class[] {}).status().code(),
                Matchers.equalTo((short) 0));
    }

    @Test(expected = KernelException.class)
    public void runWithFail() throws KernelException {
        new Junit4Kernel(
                        () -> {
// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/KernelException.java
// public class KernelException extends SunshineException {
//     public KernelException(String message) {
//         super(message);
//     }
// 
//     public KernelException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public KernelException(Throwable cause) {
//         super(cause);
//     }
// }
// 
// 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-junit4/src/test/java/org/tatools/sunshine/junit4/Junit4KernelTest.java
import org.hamcrest.MatcherAssert;
import org.hamcrest.Matchers;
import org.junit.Test;
import org.junit.runner.Description;
import org.junit.runner.notification.RunListener;
import org.tatools.sunshine.core.KernelException;
import org.tatools.sunshine.core.SuiteException;

package org.tatools.sunshine.junit4;


/**
 * @author Dmytro Serdiuk (dmytro.serdiuk@gmail.com)
 * @version $Id$
 * @since 0.2
 */
public class Junit4KernelTest {

    @Test
    public void run() throws KernelException {
        MatcherAssert.assertThat(
                new Junit4Kernel(() -> new Class[] {}).status().code(),
                Matchers.equalTo((short) 0));
    }

    @Test(expected = KernelException.class)
    public void runWithFail() throws KernelException {
        new Junit4Kernel(
                        () -> {
                            throw new SuiteException("Fail");