// Path: androidunittest/src/main/java/com/github/florent37/androidunittest/AndroidUnitTest.java
// public class AndroidUnitTest implements MethodRule {
// 
//     ControllerActivity controllerActivity;
//     ControllerFragment controllerFragment;
//     @Nullable ActivityController activityController;
//     private AndroidUnitTestAnnotations androidUnitTestAnnotations;
// 
//     protected AndroidUnitTest() {
//         androidUnitTestAnnotations = new AndroidUnitTestAnnotations(AndroidUnitTest.this);
//         controllerActivity = new ControllerActivity(this);
//         controllerFragment = new ControllerFragment(this);
//     }
// 
//     public static AndroidUnitTest rule() {
//         return new AndroidUnitTest();
//     }
// 
//     @Override
//     public Statement apply(final Statement base, FrameworkMethod method, final Object target) {
//         return new Statement() {
//             @Override
//             public void evaluate() throws Throwable {
//                 MockitoAnnotations.initMocks(target);
//                 androidUnitTestAnnotations.init(target);
//                 base.evaluate();
//                 Mockito.validateMockitoUsage();
//             }
//         };
//     }
// 
//     @Nullable
//     public ActivityController getActivityController() {
//         return activityController;
//     }
// 
//     public void setActivityController(@Nullable ActivityController activityController) {
//         this.activityController = activityController;
//     }
// 
//     public AndroidUnitTestAnnotations getAndroidUnitTestAnnotations() {
//         return androidUnitTestAnnotations;
//     }
// 
//     public ControllerActivity activity() {
//         return controllerActivity;
//     }
// 
//     public ControllerFragment fragment() {
//         return controllerFragment;
//     }
// 
// }


import android.content.Context;
import android.support.v4.app.FragmentActivity;
import com.github.florent37.androidunittest.AndroidUnitTest;
import com.github.florent37.androidunittest.annotations.RActivity;
import com.github.florent37.androidunittest.annotations.RContext;
import com.github.florent37.androidunittest.annotations.RFragment;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.spy;
package com.github.florent37.testsample;





@RunWith(CustomTestRunner.class)
public class MainFragmentTest {
// Path: androidunittest/src/main/java/com/github/florent37/androidunittest/AndroidUnitTest.java
// public class AndroidUnitTest implements MethodRule {
// 
//     ControllerActivity controllerActivity;
//     ControllerFragment controllerFragment;
//     @Nullable ActivityController activityController;
//     private AndroidUnitTestAnnotations androidUnitTestAnnotations;
// 
//     protected AndroidUnitTest() {
//         androidUnitTestAnnotations = new AndroidUnitTestAnnotations(AndroidUnitTest.this);
//         controllerActivity = new ControllerActivity(this);
//         controllerFragment = new ControllerFragment(this);
//     }
// 
//     public static AndroidUnitTest rule() {
//         return new AndroidUnitTest();
//     }
// 
//     @Override
//     public Statement apply(final Statement base, FrameworkMethod method, final Object target) {
//         return new Statement() {
//             @Override
//             public void evaluate() throws Throwable {
//                 MockitoAnnotations.initMocks(target);
//                 androidUnitTestAnnotations.init(target);
//                 base.evaluate();
//                 Mockito.validateMockitoUsage();
//             }
//         };
//     }
// 
//     @Nullable
//     public ActivityController getActivityController() {
//         return activityController;
//     }
// 
//     public void setActivityController(@Nullable ActivityController activityController) {
//         this.activityController = activityController;
//     }
// 
//     public AndroidUnitTestAnnotations getAndroidUnitTestAnnotations() {
//         return androidUnitTestAnnotations;
//     }
// 
//     public ControllerActivity activity() {
//         return controllerActivity;
//     }
// 
//     public ControllerFragment fragment() {
//         return controllerFragment;
//     }
// 
// }


// Path: app/src/test/java/com/github/florent37/testsample/MainFragmentTest.java
import android.content.Context;
import android.support.v4.app.FragmentActivity;
import com.github.florent37.androidunittest.AndroidUnitTest;
import com.github.florent37.androidunittest.annotations.RActivity;
import com.github.florent37.androidunittest.annotations.RContext;
import com.github.florent37.androidunittest.annotations.RFragment;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.spy;

package com.github.florent37.testsample;





@RunWith(CustomTestRunner.class)
public class MainFragmentTest {
    @Rule public AndroidUnitTest androidUnitTest = AndroidUnitTest.rule();