package com.arellomobile.mvp.inheritance_test;
import android.os.Bundle;
import com.arellomobile.mvp.MvpDelegate;
import com.arellomobile.mvp.inheritance_test.resources.ChildViewWithoutInject;
import com.arellomobile.mvp.inheritance_test.resources.SuperViewWithInject;
import com.arellomobile.mvp.inheritance_test.resources.ViewWithoutInject;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/**
* Date: 30.12.2016
* Time: 00:29
*
* @author Yuri Shmakov
*/
@RunWith(RobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class InheritanceTest {
@Test
public void testWithoutInject() {
ViewWithoutInject view = new ViewWithoutInject();
view.delegate = new MvpDelegate<>(view);
view.delegate.onCreate(new Bundle());
}
@Test
public void testInjectInInherited() {
SuperViewWithInject view = new SuperViewWithInject();
view.delegate = new MvpDelegate<>(view);
view.delegate.onCreate(new Bundle());
Assert.assertNotNull(view.presenter);
}
@Test
public void testInjectOnlyInSuper() {
ChildViewWithoutInject view = new ChildViewWithoutInject();
view.delegate = new MvpDelegate<>(view);
view.delegate.onCreate();
Assert.assertNotNull(view.presenter);
}
}