package com.airbnb.epoxy; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import static org.junit.Assert.assertEquals; @RunWith(RobolectricTestRunner.class) @Config(constants = BuildConfig.class, sdk = 21) public class EpoxyAdapterIntegrationTest { private ControllerLifecycleHelper lifecycleHelper = new ControllerLifecycleHelper(); private final SimpleEpoxyAdapter adapter = new SimpleEpoxyAdapter(); @Test public void returnModelViewType() { Model testModel = new Model_(); adapter.addModel(testModel); int itemViewType = adapter.getItemViewType(0); assertEquals(testModel.getViewType(), itemViewType); } @Test public void returnHiddenModelViewType() { Model testModel = new Model_(); testModel.hide(); adapter.addModel(testModel); int itemViewType = adapter.getItemViewType(0); assertEquals(new HiddenEpoxyModel().getViewType(), itemViewType); } @Test public void bindHiddenModel() { Model testModel = new Model_(); testModel.hide(); adapter.addModel(testModel); lifecycleHelper.bindModels(adapter); } @Test public void bindNormalModel() { Model testModel = new Model_(); adapter.addModel(testModel); lifecycleHelper.bindModels(adapter); } }