add fragment lifecycle tests

This commit is contained in:
Phillip Thelen 2016-05-15 11:26:56 +02:00
parent 845b7e3062
commit a4e7fc2682
63 changed files with 486 additions and 83 deletions

View file

@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.habitrpg.android.habitica"
android:versionCode="65"
android:versionCode="71"
android:versionName="0.0.30"
android:screenOrientation="portrait"
android:installLocation="auto" >

View file

@ -121,6 +121,8 @@ dependencies {
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
testCompile 'org.robolectric:robolectric:3.0'
testCompile 'org.robolectric:shadows-multidex:3.0'
testCompile "org.robolectric:shadows-support-v4:3.0"
testCompile "org.mockito:mockito-core:1.+"
//Leak Detection
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'

View file

@ -6,5 +6,5 @@
<string name="SP_APIToken" translatable="false">APIToken</string>
<string name="SP_username" translatable="false">Username</string>
<string name="SP_email" translatable="false">E-mail</string>
<string name="base_url" translatable="false">https://habitica.com</string>
<string name="base_url" translatable="false">https://v3.habitica.com</string>
</resources>

View file

@ -3,7 +3,7 @@ package com.habitrpg.android.habitica.ui.activities;
import com.github.data5tream.emojilib.EmojiEditText;
import com.github.data5tream.emojilib.EmojiPopup;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.UiUtils;
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
import com.habitrpg.android.habitica.ui.helpers.MarkdownParser;
import android.app.Activity;

View file

@ -31,9 +31,9 @@ import com.habitrpg.android.habitica.events.commands.SellItemCommand;
import com.habitrpg.android.habitica.events.commands.UnlockPathCommand;
import com.habitrpg.android.habitica.events.commands.UpdateUserCommand;
import com.habitrpg.android.habitica.ui.AvatarWithBarsViewModel;
import com.habitrpg.android.habitica.ui.MainDrawerBuilder;
import com.habitrpg.android.habitica.ui.menu.MainDrawerBuilder;
import com.habitrpg.android.habitica.ui.TutorialView;
import com.habitrpg.android.habitica.ui.UiUtils;
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
import com.habitrpg.android.habitica.ui.fragments.GemsPurchaseFragment;
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
@ -128,8 +128,8 @@ import java.util.concurrent.TimeUnit;
import butterknife.BindView;
import rx.functions.Action1;
import static com.habitrpg.android.habitica.ui.UiUtils.SnackbarDisplayType;
import static com.habitrpg.android.habitica.ui.UiUtils.showSnackbar;
import static com.habitrpg.android.habitica.ui.helpers.UiUtils.SnackbarDisplayType;
import static com.habitrpg.android.habitica.ui.helpers.UiUtils.showSnackbar;
public class MainActivity extends BaseActivity implements Action1<Throwable>, HabitRPGUserCallback.OnUserReceived,
TaskScoringCallback.OnTaskScored,

View file

@ -3,8 +3,8 @@ package com.habitrpg.android.habitica.ui.activities;
import com.habitrpg.android.habitica.BuildConfig;
import com.habitrpg.android.habitica.HostConfig;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.fragments.AccountDetailsFragment;
import com.habitrpg.android.habitica.ui.fragments.PreferencesFragment;
import com.habitrpg.android.habitica.ui.fragments.preferences.AccountDetailsFragment;
import com.habitrpg.android.habitica.ui.fragments.preferences.PreferencesFragment;
import android.content.Context;
import android.content.SharedPreferences;

View file

@ -2,7 +2,7 @@ package com.habitrpg.android.habitica.ui.activities;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.adapter.SkillTasksRecyclerViewAdapter;
import com.habitrpg.android.habitica.ui.fragments.SkillTasksRecyclerViewFragment;
import com.habitrpg.android.habitica.ui.fragments.skills.SkillTasksRecyclerViewFragment;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task;

View file

@ -4,7 +4,7 @@ import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.commands.OpenMenuItemCommand;
import com.habitrpg.android.habitica.events.commands.UnlockPathCommand;
import com.habitrpg.android.habitica.events.commands.UpdateUserCommand;
import com.habitrpg.android.habitica.ui.MainDrawerBuilder;
import com.habitrpg.android.habitica.ui.menu.MainDrawerBuilder;
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
import com.magicmicky.habitrpgwrapper.lib.models.Customization;
import com.magicmicky.habitrpgwrapper.lib.models.CustomizationSet;

View file

@ -2,8 +2,8 @@ package com.habitrpg.android.habitica.ui.adapter.inventory;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.activities.MainActivity;
import com.habitrpg.android.habitica.ui.fragments.inventory.MountDetailRecyclerFragment;
import com.habitrpg.android.habitica.ui.fragments.inventory.PetDetailRecyclerFragment;
import com.habitrpg.android.habitica.ui.fragments.inventory.stable.MountDetailRecyclerFragment;
import com.habitrpg.android.habitica.ui.fragments.inventory.stable.PetDetailRecyclerFragment;
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
import com.magicmicky.habitrpgwrapper.lib.models.inventory.Animal;

View file

@ -91,6 +91,7 @@ public class BaseFragment extends DialogFragment {
}
if (unbinder != null) {
unbinder.unbind();
unbinder = null;
}
super.onDestroyView();

View file

@ -19,6 +19,7 @@ import org.solovyev.android.checkout.Sku;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
@ -53,10 +54,15 @@ public class GemsPurchaseFragment extends BaseMainFragment {
super.onCreateView(inflater, container, savedInstanceState);
View v = inflater.inflate(R.layout.fragment_gem_purchase, container, false);
return inflater.inflate(R.layout.fragment_gem_purchase, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
btnPurchaseGems.setEnabled(false);
ViewHelper.SetBackgroundTint(btnPurchaseGems, ContextCompat.getColor(container.getContext(), R.color.brand));
ViewHelper.SetBackgroundTint(btnPurchaseGems, ContextCompat.getColor(getContext(), R.color.brand));
final ActivityCheckout checkout = listener.getActivityCheckout();
@ -116,8 +122,6 @@ public class GemsPurchaseFragment extends BaseMainFragment {
}
});
return v;
}
private void updateBuyButtonText(String price){

View file

@ -1,7 +1,7 @@
package com.habitrpg.android.habitica.ui.fragments.faq;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.adapter.FAQOverviewRecyclerAdapter;
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
import com.magicmicky.habitrpgwrapper.lib.models.FAQArticle;

View file

@ -1,7 +1,7 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.equipment;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.adapter.inventory.EquipmentRecyclerViewAdapter;
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData;

View file

@ -2,7 +2,7 @@ package com.habitrpg.android.habitica.ui.fragments.inventory.items;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.ContentReloadedEvent;
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.adapter.inventory.ItemRecyclerAdapter;
import com.habitrpg.android.habitica.ui.fragments.BaseFragment;
import com.habitrpg.android.habitica.ui.helpers.RecyclerViewEmptySupport;
@ -61,40 +61,39 @@ public class ItemRecyclerFragment extends BaseFragment {
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (view == null) {
view = inflater.inflate(R.layout.fragment_items, container, false);
unbinder = ButterKnife.bind(this, view);
recyclerView.setEmptyView(emptyView);
emptyView.setText(getString(R.string.empty_items, itemTypeText));
android.support.v4.app.FragmentActivity context = getActivity();
layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
if (layoutManager == null) {
layoutManager = new LinearLayoutManager(context);
recyclerView.setLayoutManager(layoutManager);
}
adapter = (ItemRecyclerAdapter)recyclerView.getAdapter();
if (adapter == null) {
adapter = new ItemRecyclerAdapter();
adapter.context = this.getActivity();
adapter.isHatching = this.isHatching;
adapter.isFeeding = this.isFeeding;
adapter.fragment = this;
adapter.ownedPets = this.ownedPets;
if (this.hatchingItem != null) {
adapter.hatchingItem = this.hatchingItem;
}
if (this.feedingPet != null) {
adapter.feedingPet = this.feedingPet;
}
recyclerView.setAdapter(adapter);
}
recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST));
}
unbinder = ButterKnife.bind(this, view);
recyclerView.setEmptyView(emptyView);
emptyView.setText(getString(R.string.empty_items, itemTypeText));
android.support.v4.app.FragmentActivity context = getActivity();
layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
if (layoutManager == null) {
layoutManager = new LinearLayoutManager(context);
recyclerView.setLayoutManager(layoutManager);
}
adapter = (ItemRecyclerAdapter)recyclerView.getAdapter();
if (adapter == null) {
adapter = new ItemRecyclerAdapter();
adapter.context = this.getActivity();
adapter.isHatching = this.isHatching;
adapter.isFeeding = this.isFeeding;
adapter.fragment = this;
adapter.ownedPets = this.ownedPets;
if (this.hatchingItem != null) {
adapter.hatchingItem = this.hatchingItem;
}
if (this.feedingPet != null) {
adapter.feedingPet = this.feedingPet;
}
recyclerView.setAdapter(adapter);
}
recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST));
if (savedInstanceState != null){
this.itemType = savedInstanceState.getString(ITEM_TYPE_KEY, "");

View file

@ -4,7 +4,7 @@ import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.commands.HatchingCommand;
import com.habitrpg.android.habitica.events.commands.InvitePartyToQuestCommand;
import com.habitrpg.android.habitica.events.commands.OpenMenuItemCommand;
import com.habitrpg.android.habitica.ui.MainDrawerBuilder;
import com.habitrpg.android.habitica.ui.menu.MainDrawerBuilder;
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
import org.greenrobot.eventbus.EventBus;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui.fragments.inventory;
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.adapter.inventory.MountDetailRecyclerAdapter;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui.fragments.inventory;
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.commands.FeedCommand;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui.fragments.inventory;
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui.fragments.inventory;
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.ContentReloadedEvent;

View file

@ -1,6 +1,7 @@
package com.habitrpg.android.habitica.ui.fragments;
package com.habitrpg.android.habitica.ui.fragments.preferences;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.fragments.preferences.BasePreferencesFragment;
import android.content.ClipData;
import android.content.ClipboardManager;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui.fragments;
package com.habitrpg.android.habitica.ui.fragments.preferences;
import com.habitrpg.android.habitica.R;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui.fragments;
package com.habitrpg.android.habitica.ui.fragments.preferences;
import com.habitrpg.android.habitica.APIHelper;
import com.habitrpg.android.habitica.HabiticaApplication;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui.fragments;
package com.habitrpg.android.habitica.ui.fragments.preferences;
import com.habitrpg.android.habitica.prefs.TimePreference;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui.fragments;
package com.habitrpg.android.habitica.ui.fragments.skills;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.commands.AddNewTaskCommand;

View file

@ -1,13 +1,14 @@
package com.habitrpg.android.habitica.ui.fragments;
package com.habitrpg.android.habitica.ui.fragments.skills;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.callbacks.MergeUserCallback;
import com.habitrpg.android.habitica.callbacks.SkillCallback;
import com.habitrpg.android.habitica.events.SkillUsedEvent;
import com.habitrpg.android.habitica.events.commands.UseSkillCommand;
import com.habitrpg.android.habitica.ui.UiUtils;
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
import com.habitrpg.android.habitica.ui.activities.SkillTasksActivity;
import com.habitrpg.android.habitica.ui.adapter.SkillsRecyclerViewAdapter;
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
import com.magicmicky.habitrpgwrapper.lib.models.Skill;
import com.raizlabs.android.dbflow.sql.builder.Condition;

View file

@ -9,7 +9,7 @@ import com.habitrpg.android.habitica.events.commands.FlagChatMessageCommand;
import com.habitrpg.android.habitica.events.commands.SendNewGroupMessageCommand;
import com.habitrpg.android.habitica.events.commands.ToggleInnCommand;
import com.habitrpg.android.habitica.events.commands.ToggleLikeMessageCommand;
import com.habitrpg.android.habitica.ui.UiUtils;
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
import com.habitrpg.android.habitica.ui.activities.MainActivity;
import com.habitrpg.android.habitica.ui.activities.PrefsActivity;
import com.habitrpg.android.habitica.ui.adapter.social.ChatRecyclerViewAdapter;
@ -51,7 +51,7 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout
private APIHelper apiHelper;
private HabitRPGUser user;
private String userId;
private boolean isTavern;
public boolean isTavern;
private MainActivity activity;
public void configure(Context ctx, String groupId, APIHelper apiHelper, HabitRPGUser user, MainActivity activity, boolean isTavern) {

View file

@ -1,7 +1,7 @@
package com.habitrpg.android.habitica.ui.fragments.social;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.adapter.social.PublicGuildsRecyclerViewAdapter;
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
import com.magicmicky.habitrpgwrapper.lib.models.Group;

View file

@ -2,7 +2,7 @@ package com.habitrpg.android.habitica.ui.fragments.tasks;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.commands.AddNewTaskCommand;
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
import com.habitrpg.android.habitica.ui.adapter.tasks.BaseTasksRecyclerViewAdapter;
import com.habitrpg.android.habitica.ui.fragments.BaseFragment;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task;

View file

@ -2,7 +2,6 @@ package com.habitrpg.android.habitica.ui.fragments.tasks;
import com.github.clans.fab.FloatingActionButton;
import com.github.clans.fab.FloatingActionMenu;
import com.habitrpg.android.habitica.ContentCache;
import com.habitrpg.android.habitica.HabiticaApplication;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback;
@ -19,8 +18,8 @@ import com.habitrpg.android.habitica.events.commands.CreateTagCommand;
import com.habitrpg.android.habitica.events.commands.FilterTasksByTagsCommand;
import com.habitrpg.android.habitica.events.commands.TaskCheckedCommand;
import com.habitrpg.android.habitica.helpers.TagsHelper;
import com.habitrpg.android.habitica.ui.EditTextDrawer;
import com.habitrpg.android.habitica.ui.UiUtils;
import com.habitrpg.android.habitica.ui.menu.EditTextDrawer;
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
import com.habitrpg.android.habitica.ui.activities.MainActivity;
import com.habitrpg.android.habitica.ui.activities.TaskFormActivity;
import com.habitrpg.android.habitica.ui.adapter.tasks.BaseTasksRecyclerViewAdapter;
@ -33,15 +32,12 @@ import com.habitrpg.android.habitica.ui.helpers.Debounce;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
import com.magicmicky.habitrpgwrapper.lib.models.Tag;
import com.magicmicky.habitrpgwrapper.lib.models.TaskDirection;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.TaskTag;
import com.mikepenz.materialdrawer.interfaces.OnCheckedChangeListener;
import com.mikepenz.materialdrawer.model.SectionDrawerItem;
import com.mikepenz.materialdrawer.model.SwitchDrawerItem;
import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem;
import com.raizlabs.android.dbflow.sql.builder.Condition;
import com.raizlabs.android.dbflow.sql.language.Select;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui;
package com.habitrpg.android.habitica.ui.helpers;
import com.habitrpg.android.habitica.R;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui;
package com.habitrpg.android.habitica.ui.menu;
import android.content.Context;
import android.content.res.TypedArray;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui;
package com.habitrpg.android.habitica.ui.menu;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.commands.CreateTagCommand;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui;
package com.habitrpg.android.habitica.ui.menu;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.activities.AboutActivity;
@ -7,9 +7,9 @@ import com.habitrpg.android.habitica.ui.activities.PrefsActivity;
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
import com.habitrpg.android.habitica.ui.fragments.GemsPurchaseFragment;
import com.habitrpg.android.habitica.ui.fragments.NewsFragment;
import com.habitrpg.android.habitica.ui.fragments.SkillsFragment;
import com.habitrpg.android.habitica.ui.fragments.inventory.stable.StableFragment;
import com.habitrpg.android.habitica.ui.fragments.skills.SkillsFragment;
import com.habitrpg.android.habitica.ui.fragments.faq.FAQOverviewFragment;
import com.habitrpg.android.habitica.ui.fragments.inventory.StableFragment;
import com.habitrpg.android.habitica.ui.fragments.inventory.customization.AvatarOverviewFragment;
import com.habitrpg.android.habitica.ui.fragments.inventory.equipment.EquipmentOverviewFragment;
import com.habitrpg.android.habitica.ui.fragments.inventory.items.ItemsFragment;

View file

@ -1,4 +1,4 @@
package com.habitrpg.android.habitica.ui;
package com.habitrpg.android.habitica.ui.menu;
import com.habitrpg.android.habitica.R;
import com.mikepenz.fastadapter.utils.ViewHolderFactory;

View file

@ -0,0 +1,10 @@
package com.habitrpg.android.habitica.ui.fragments;
public class AboutFragmentTest extends BaseFragmentTests<AboutFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new AboutFragment();
}
}

View file

@ -0,0 +1,77 @@
package com.habitrpg.android.habitica.ui.fragments;
import com.habitrpg.android.habitica.BuildConfig;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.activities.MainActivity;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ActivityController;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.widget.LinearLayout;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
@RunWith(RobolectricGradleTestRunner.class)
abstract public class BaseFragmentTests<F extends Fragment> {
public F fragment;
private ActivityController<FragmentControllerActivity> activityController;
private FragmentControllerActivity activity;
@Before
public void setUp() {
activityController = Robolectric.buildActivity(FragmentControllerActivity.class);
Intent intent = new Intent(RuntimeEnvironment.application, FragmentControllerActivity.class);
activity = activityController
.withIntent(intent)
.create()
.get();
}
@Test
public void fragmentLifecycleTest() throws Exception {
assertNull(this.fragment.getView());
this.activity.getSupportFragmentManager().beginTransaction()
.add(R.id.frame_container, this.fragment).commit();
this.activityController.start().resume().visible();
assertNotNull(this.fragment.getView());
}
@After
public void tearDown() {
this.activityController.pause().stop().destroy();
}
private static class FragmentControllerActivity extends MainActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout view = new LinearLayout(this);
view.setId(R.id.frame_container);
setContentView(view);
}
@Override
public void setActiveFragment(BaseMainFragment fragment) {
}
}
}

View file

@ -0,0 +1,10 @@
package com.habitrpg.android.habitica.ui.fragments;
public class GemsPurchaseFragmentTest extends BaseFragmentTests<GemsPurchaseFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new GemsPurchaseFragment();
}
}

View file

@ -0,0 +1,10 @@
package com.habitrpg.android.habitica.ui.fragments;
public class NewsFragmentTest extends BaseFragmentTests<NewsFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new NewsFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.faq;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class FAQDetailFragmentTest extends BaseFragmentTests<FAQDetailFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new FAQDetailFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.faq;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class FAQOverviewFragmentTest extends BaseFragmentTests<FAQOverviewFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new FAQOverviewFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.customization;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class AvatarCustomizationFragmentTest extends BaseFragmentTests<AvatarCustomizationFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new AvatarCustomizationFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.customization;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class AvatarOverviewFragmentTest extends BaseFragmentTests<AvatarOverviewFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new AvatarOverviewFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.equipment;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class EquipmentDetailFragmentTest extends BaseFragmentTests<EquipmentDetailFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new EquipmentDetailFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.equipment;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class EquipmentOverviewFragmentTest extends BaseFragmentTests<EquipmentOverviewFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new EquipmentOverviewFragment();
}
}

View file

@ -0,0 +1,15 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.items;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class ItemRecyclerFragmentTest extends BaseFragmentTests<ItemRecyclerFragment> {
public void setUp() {
super.setUp();
this.fragment = new ItemRecyclerFragment();
this.fragment.itemType = "eggs";
this.fragment.isHatching = false;
this.fragment.isFeeding = false;
this.fragment.itemTypeText = "";
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.items;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class ItemsFragmentTest extends BaseFragmentTests<ItemsFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new ItemsFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class MountDetailRecyclerFragmentTest extends BaseFragmentTests<MountDetailRecyclerFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new MountDetailRecyclerFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class PetDetailRecyclerFragmentTest extends BaseFragmentTests<PetDetailRecyclerFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new PetDetailRecyclerFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class StableFragmentTest extends BaseFragmentTests<StableFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new StableFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class StableRecyclerFragmentTest extends BaseFragmentTests<StableRecyclerFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new StableRecyclerFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.skills;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class SkillsFragmentTest extends BaseFragmentTests<SkillsFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new SkillsFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.skills;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class SkillsTaskRecyclerViewFragmentTest extends BaseFragmentTests<SkillTasksRecyclerViewFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new SkillTasksRecyclerViewFragment();
}
}

View file

@ -0,0 +1,13 @@
package com.habitrpg.android.habitica.ui.fragments.social;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
import com.habitrpg.android.habitica.ui.fragments.social.ChatListFragment;
public class ChatListFragmentTest extends BaseFragmentTests<ChatListFragment> {
public void setUp() {
super.setUp();
this.fragment = new ChatListFragment();
this.fragment.isTavern = false;
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.social;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class GroupInformationFragmentTest extends BaseFragmentTests<GroupInformationFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new GroupInformationFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.social;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class GuildFragmentTest extends BaseFragmentTests<GuildFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new GuildFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.social;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class GuildsOverviewFragmentTest extends BaseFragmentTests<GuildsOverviewFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new GuildsOverviewFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.social;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class PublicGuildsFragmentTest extends BaseFragmentTests<PublicGuildsFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new PublicGuildsFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.social;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class TavernFragmentTest extends BaseFragmentTests<TavernFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new TavernFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.social.party;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class PartyFragmentTest extends BaseFragmentTests<PartyFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new PartyFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.social.party;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class PartyInviteFragmentTest extends BaseFragmentTests<PartyInviteFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new PartyInviteFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.social.party;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class PartyMemberListFragmentTest extends BaseFragmentTests<PartyMemberListFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new PartyMemberListFragment();
}
}

View file

@ -0,0 +1,12 @@
package com.habitrpg.android.habitica.ui.fragments.tasks;
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
public class TasksFragmentTest extends BaseFragmentTests<TasksFragment> {
@Override
public void setUp() {
super.setUp();
this.fragment = new TasksFragment();
}
}

View file

@ -51,7 +51,7 @@ public class DateDeserializerTest {
}
};
this.referenceTimestamp = new Long("1443445200000");
this.referenceTimestamp = Long.valueOf("1443445200000");
}
@Test