///* // * // * * Copyright 2015. Appsi Mobile // * * // * * 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 com.appsimobile.appsii.module.home; // //import android.content.Context; //import android.os.Bundle; //import android.test.InstrumentationTestCase; //import android.util.Pair; //import android.view.LayoutInflater; //import android.view.View; //import android.view.ViewGroup; //import android.widget.FrameLayout; // //import com.appsimobile.appsii.HotspotPageEntry; //import com.appsimobile.util.CollectionUtils; // //import org.junit.Before; // //import java.util.ArrayList; // ///** // * Created by nick on 30/03/15. // */ //public class SidebarPagerAdapterTest { // // MockSidebarContext mContext; // // // @Before // protected void setUp() throws Exception { // mContext = new MockSidebarContext(getInstrumentation().getTargetContext()); // } // // public void testSetPrimaryItem() { // // Pair<ArrayList<HotspotPageEntry>, MockSidebarPagerAdapter> pair = createAdapter(); // // ArrayList<HotspotPageEntry> entries = pair.first; // MockSidebarPagerAdapter adapter = pair.second; // // FrameLayout container = new FrameLayout(mContext); // // adapter.setSidebarOpening(true); // adapter.onAttachedToWindow(); // // // instantiate the items 0 and 1. like the viewpager would // adapter.instantiateItem(container, 0); // adapter.instantiateItem(container, 1); // // { // adapter.setPrimaryItem(container, 0, adapter.pageAt(0)); // // MockPageController activePageController = // (MockPageController) adapter.mActivePageController; // // assertTrue(activePageController.mUserVisible); // // assertTrue(activePageController.mSidebarAttached); // assertTrue(entries.get(0) == activePageController.mEntry); // assertTrue(activePageController.mDeferLoads); // // adapter.setSidebarOpening(false); // assertFalse(activePageController.mDeferLoads); // } // // { // // // switch to page 2 and verify it's state // adapter.destroyItem(container, 0, adapter.pageAt(0)); // adapter.setPrimaryItem(container, 1, adapter.pageAt(1)); // // MockPageController activePageController = // (MockPageController) adapter.mActivePageController; // // assertTrue(entries.get(1) == activePageController.mEntry); // // assertFalse(activePageController.mDeferLoads); // // } // // adapter.onDetachedFromWindow(); // assertNotNull(adapter.mActivePageController); // assertNotNull(adapter.pageAt(1)); // // adapter.setSidebarOpening(true); // assertNotNull(adapter.mActivePageController); // assertNotNull(adapter.pageAt(1)); // // adapter.onAttachedToWindow(); // assertNotNull(adapter.mActivePageController); // assertNotNull(adapter.pageAt(1)); // // { // adapter.setPrimaryItem(container, 1, adapter.pageAt(1)); // // MockPageController activePageController = // (MockPageController) adapter.mActivePageController; // // assertTrue(activePageController.mDeferLoads); // // adapter.setSidebarOpening(true); // assertFalse(activePageController.mDeferLoads); // } // // } // // Pair<ArrayList<HotspotPageEntry>, MockSidebarPagerAdapter> createAdapter() { // MockSidebarPagerAdapter adapter = new MockSidebarPagerAdapter(); // // ArrayList<HotspotPageEntry> entries = CollectionUtils.asList( // entry(), // entry(), // entry(), // entry(), // entry()); // // adapter.setPages(entries); // // return Pair.create(entries, adapter); // } // // HotspotPageEntry entry() { // HotspotPageEntry entry = new HotspotPageEntry(); // entry.mEnabled = true; // return entry; // } // // static class MockPageController extends PageController { // // final HotspotPageEntry mEntry; // // boolean mDeferLoads; // // public MockPageController(Context context, HotspotPageEntry entry, String title) { // super(context, title); // mEntry = entry; // } // // @Override // public View onCreateView(LayoutInflater inflater, ViewGroup parent, // Bundle savedInstanceState) { // return new FrameLayout(parent.getContext()); // } // // @Override // protected void onViewCreated(View view, Bundle savedInstanceState) { // // } // // @Override // protected void applyToolbarColor(int color) { // // } // // @Override // public void setDeferLoads(boolean deferLoads) { // super.setDeferLoads(deferLoads); // mDeferLoads = deferLoads; // } // // } // // static class MockSidebarContext extends SidebarContext { // // public MockSidebarContext(Context base) { // super(base); // } // } // // private class MockSidebarPagerAdapter extends SidebarPagerAdapter { // // public MockSidebarPagerAdapter() { // super(SidebarPagerAdapterTest.this.mContext); // } // // MockPageController pageAt(int position) { // HotspotPageEntry entry = mActivePageKeys.get(position); // return (MockPageController) mCachedControllers.get(entry); // } // // @Override // protected PageController onCreatePageController(Context context, // HotspotPageEntry page) { // return new MockPageController(context, page, "title"); // } // } //}