/* * Copyright 2015 sourcestream GmbH * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package de.sourcestream.movieDB; import android.support.v4.widget.DrawerLayout; import android.support.v7.widget.Toolbar; import android.test.ActivityInstrumentationTestCase2; import android.widget.ListView; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricGradleTestRunner; import org.robolectric.annotation.Config; import de.sourcestream.movieDB.controller.GalleryList; import de.sourcestream.movieDB.controller.GenresList; import de.sourcestream.movieDB.controller.MovieSlideTab; import de.sourcestream.movieDB.controller.TVSlideTab; import de.sourcestream.movieDB.controller.TrailerList; @RunWith(RobolectricGradleTestRunner.class) @Config(constants = BuildConfig.class, emulateSdk = 21) public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { private MainActivity activity; private Toolbar toolbar; private DrawerLayout mDrawerLayout; private ListView mDrawerList; private MovieSlideTab movieSlideTab; private TVSlideTab tvSlideTab; private GenresList genresList; private GalleryList galleryList; private TrailerList trailerList; public MainActivityTest() { super(MainActivity.class); } @Before public void setUp() throws Exception { activity = Robolectric.buildActivity(MainActivity.class).create().get(); mDrawerLayout = (DrawerLayout) activity.findViewById(R.id.drawer_layout); mDrawerList = (ListView) activity.findViewById(R.id.list_slidermenu); toolbar = (Toolbar) activity.findViewById(R.id.toolbar); movieSlideTab = activity.getMovieSlideTab(); tvSlideTab = activity.getTvSlideTab(); genresList = activity.getGenresList(); galleryList = activity.getGalleryListView(); trailerList = activity.getTrailerListView(); } @Test public void testPreconditions() throws Exception { assertNotNull("activity is null", activity); assertNotNull("mDrawerLayout is null", mDrawerLayout); assertNotNull("mDrawerList is null", mDrawerList); assertNotNull("toolbar is null", toolbar); assertNotNull("movieSlideTab is null", movieSlideTab); assertNotNull("tvSlideTab is null", tvSlideTab); assertNotNull("genresList is null", genresList); assertNotNull("galleryList is null", galleryList); assertNotNull("trailerList is null", trailerList); } @Test public void testToolbar_same() throws Exception { Toolbar expected = toolbar; Toolbar actual = activity.getToolbar(); assertEquals("Toolbar is different!", expected.hashCode(), actual.hashCode()); } @Test public void testToolbar_title() throws Exception { String expected[] = activity.getResources().getStringArray(R.array.nav_drawer_items); String actual = toolbar.getTitle().toString(); assertEquals("Toolbar title is different!", expected[0], actual); } @Test public void testDrawerList_count() throws Exception { int expected = 5; int expectedHeader = 1; assertEquals("Drawer list items conflict!", expected, mDrawerList.getCount()); assertEquals("Drawer list header different value!", expectedHeader, mDrawerList.getHeaderViewsCount()); } @Test public void testDrawerList_itemClickListener() throws Exception { assertNotNull(mDrawerList.getOnItemClickListener()); } @Test public void testDrawerList_adapter() throws Exception { assertNotNull(mDrawerList.getAdapter()); } @Test public void testValues() throws Exception { int expected = 0, expectedOldPos = 1; assertEquals("Value in Movie pager is different!", expected, activity.getCurrentMovViewPagerPos()); assertEquals("Value in TV pager is different!", expected, activity.getCurrentTVViewPagerPos()); assertEquals("Value oldPos is different", expectedOldPos, activity.getOldPos()); assertEquals("Value lastVisitedSimMovie is different", expected, activity.getLastVisitedSimMovie()); assertEquals("Value lastVisitedSimTV is different", expected, activity.getLastVisitedSimTV()); assertEquals("Value lastVisitedMovieInCredits is different", expected, activity.getLastVisitedMovieInCredits()); } }