// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/Status.java
// final class Fake implements Status {
//     private final short c;
//     private final int r;
//     private final int f;
//     private final int i;
// 
//     public Fake() {
//         this((short) 0, 5, 0, 1);
//     }
// 
//     public Fake(short code, int total, int failed, int ignored) {
//         this.c = code;
//         this.r = total;
//         this.f = failed;
//         this.i = ignored;
//     }
// 
//     @Override
//     public short code() {
//         return this.c;
//     }
// 
//     @Override
//     public int runCount() {
//         return this.r;
//     }
// 
//     @Override
//     public int failureCount() {
//         return this.f;
//     }
// 
//     @Override
//     public int ignoreCount() {
//         return this.i;
//     }
// }


import org.junit.Rule;
import org.junit.Test;
import org.junit.contrib.java.lang.system.ExpectedSystemExit;
import org.tatools.sunshine.core.Status.Fake;
package org.tatools.sunshine.core;


/**
 * @author Dmytro Serdiuk (dmytro.serdiuk@gmail.com)
 * @version $Id$
 * @since 0.2
 */
public class SunTest {
    @Rule public final ExpectedSystemExit exit = ExpectedSystemExit.none();

    @Test
    public void shine() {
        exit.expectSystemExitWithStatus(0);
// Path: sunshine-core/src/main/java/org/tatools/sunshine/core/Status.java
// final class Fake implements Status {
//     private final short c;
//     private final int r;
//     private final int f;
//     private final int i;
// 
//     public Fake() {
//         this((short) 0, 5, 0, 1);
//     }
// 
//     public Fake(short code, int total, int failed, int ignored) {
//         this.c = code;
//         this.r = total;
//         this.f = failed;
//         this.i = ignored;
//     }
// 
//     @Override
//     public short code() {
//         return this.c;
//     }
// 
//     @Override
//     public int runCount() {
//         return this.r;
//     }
// 
//     @Override
//     public int failureCount() {
//         return this.f;
//     }
// 
//     @Override
//     public int ignoreCount() {
//         return this.i;
//     }
// }


// Path: sunshine-core/src/test/java/org/tatools/sunshine/core/SunTest.java
import org.junit.Rule;
import org.junit.Test;
import org.junit.contrib.java.lang.system.ExpectedSystemExit;
import org.tatools.sunshine.core.Status.Fake;

package org.tatools.sunshine.core;


/**
 * @author Dmytro Serdiuk (dmytro.serdiuk@gmail.com)
 * @version $Id$
 * @since 0.2
 */
public class SunTest {
    @Rule public final ExpectedSystemExit exit = ExpectedSystemExit.none();

    @Test
    public void shine() {
        exit.expectSystemExitWithStatus(0);
        new Sun(new Kernel.Fake(new Fake())).shine();