@Test
  public void testGetNumberOfAds() throws Exception {
    assertEquals(0, mFlurryBaseAdAdapter.getNumberOfAds(WRAPPED_ADAPTER_SIZE));

    doReturn(MOCK_AD_COUNT).when(mMockNativeAdFetcher).getQueuedAdsCount();

    assertEquals(MOCK_AD_COUNT, mFlurryBaseAdAdapter.getNumberOfAds(WRAPPED_ADAPTER_SIZE));
  }
  @Test
  public void testGetOriginalPosition() throws Exception {
    assertEquals(5, mFlurryBaseAdAdapter.getOriginalPosition(5, WRAPPED_ADAPTER_SIZE));
    assertEquals(15, mFlurryBaseAdAdapter.getOriginalPosition(15, WRAPPED_ADAPTER_SIZE));

    doReturn(MOCK_AD_COUNT).when(mMockNativeAdFetcher).getQueuedAdsCount();

    assertEquals(4, mFlurryBaseAdAdapter.getOriginalPosition(5, WRAPPED_ADAPTER_SIZE));
    assertEquals(11, mFlurryBaseAdAdapter.getOriginalPosition(15, WRAPPED_ADAPTER_SIZE));
  }
  @Test
  public void testSetPositioner() throws Exception {
    mFlurryBaseAdAdapter.setPositioner(new LinearIntervalAdPositioner(3, 20), WRAPPED_ADAPTER_SIZE);

    doReturn(MOCK_AD_COUNT).when(mMockNativeAdFetcher).getQueuedAdsCount();

    assertEquals(1, mFlurryBaseAdAdapter.getNumberOfAds(WRAPPED_ADAPTER_SIZE));

    mFlurryBaseAdAdapter.setPositioner(new LinearIntervalAdPositioner(3, 3), WRAPPED_ADAPTER_SIZE);

    assertEquals(MOCK_AD_COUNT, mFlurryBaseAdAdapter.getNumberOfAds(WRAPPED_ADAPTER_SIZE));
  }
  @Before
  public void setUp() throws Exception {
    Activity activity = Robolectric.buildActivity(Activity.class).create().get();
    initMocks(activity);

    // Using the default configuration for the base ad adapter (positioner(3,3))
    mFlurryBaseAdAdapter = new FlurryBaseAdAdapter(mMockAdapter);
    mFlurryBaseAdAdapter.initAdFetcher(activity);
    mFlurryBaseAdAdapter.injectMockAdFetcher(mMockNativeAdFetcher);

    // Mock default FlurryNativeAdFetcher behaviour
    doNothing().when(mMockNativeAdFetcher).prefetchAds(anyString());
    // doReturn(mMockFlurryAdNative).when(mMockNativeAdFetcher).popLoadedAd();
  }