package com.adview.mobile.adviewkotlindemo.testcases

import com.adview.mobile.adviewkotlindemo.R
import com.adview.mobile.adviewkotlindemo.activities.ads.admob.*
import com.adview.mobile.adviewkotlindemo.activities.ads.applovin.*
import com.adview.mobile.adviewkotlindemo.activities.ads.inapp.*

object TestCaseRepository {

    lateinit var lastTestCase: TestCase

    fun getList() = arrayListOf(

        /* In-App (no ad server) */
        TestCase(
            R.string.in_app_display_banner_320x50,
            AdFormat.DISPLAY_BANNER,
            IntegrationKind.NO_AD_SERVER,
            InAppDisplayBanner320x50Activity::class.java,
        ),
        TestCase(
            R.string.in_app_display_banner_300x250,
            AdFormat.DISPLAY_BANNER,
            IntegrationKind.NO_AD_SERVER,
            InAppDisplayBanner300x250Activity::class.java,
        ),
        TestCase(
            R.string.in_app_display_banner_multi_size,
            AdFormat.DISPLAY_BANNER,
            IntegrationKind.NO_AD_SERVER,
            InAppDisplayBannerMultiSizeActivity::class.java,
        ),
        TestCase(
            R.string.in_app_video_banner,
            AdFormat.VIDEO_BANNER,
            IntegrationKind.NO_AD_SERVER,
            InAppVideoBannerActivity::class.java,
        ),
        TestCase(
            R.string.in_app_display_interstitial,
            AdFormat.DISPLAY_INTERSTITIAL,
            IntegrationKind.NO_AD_SERVER,
            InAppDisplayInterstitialActivity::class.java,
        ),
        TestCase(
            R.string.in_app_video_interstitial,
            AdFormat.VIDEO_INTERSTITIAL,
            IntegrationKind.NO_AD_SERVER,
            InAppVideoInterstitialActivity::class.java,
        ),
        TestCase(
            R.string.in_app_video_rewarded,
            AdFormat.VIDEO_REWARDED,
            IntegrationKind.NO_AD_SERVER,
            InAppVideoRewardedActivity::class.java,
        ),
        TestCase(
            R.string.in_app_native,
            AdFormat.NATIVE,
            IntegrationKind.NO_AD_SERVER,
            InAppNativeActivity::class.java,
        ),

        /* AdMob */
        TestCase(
            R.string.ad_mob_display_banner_320x50,
            AdFormat.DISPLAY_BANNER,
            IntegrationKind.ADMOB,
            AdMobDisplayBanner320x50Activity::class.java,
        ),
        TestCase(
            R.string.ad_mob_display_banner_300x250,
            AdFormat.DISPLAY_BANNER,
            IntegrationKind.ADMOB,
            AdMobDisplayBanner300x250Activity::class.java,
        ),
        TestCase(
            R.string.ad_mob_display_interstitial,
            AdFormat.DISPLAY_INTERSTITIAL,
            IntegrationKind.ADMOB,
            AdMobDisplayInterstitialActivity::class.java,
        ),
        TestCase(
            R.string.ad_mob_video_interstitial,
            AdFormat.VIDEO_INTERSTITIAL,
            IntegrationKind.ADMOB,
            AdMobVideoInterstitialActivity::class.java,
        ),
        TestCase(
            R.string.ad_mob_video_rewarded,
            AdFormat.VIDEO_REWARDED,
            IntegrationKind.ADMOB,
            AdMobVideoRewardedActivity::class.java,
        ),
        TestCase(
            R.string.ad_mob_native,
            AdFormat.NATIVE,
            IntegrationKind.ADMOB,
            AdMobNativeActivity::class.java,
        ),

        /* AppLovin MAX */
        TestCase(
            R.string.app_lovin_max_display_banner_320x50,
            AdFormat.DISPLAY_BANNER,
            IntegrationKind.MAX,
            AppLovinMaxDisplayBanner320x50Activity::class.java,
        ),
        TestCase(
            R.string.app_lovin_max_display_banner_300x250,
            AdFormat.DISPLAY_BANNER,
            IntegrationKind.MAX,
            AppLovinMaxDisplayBanner300x250Activity::class.java,
        ),

        TestCase(
            R.string.app_lovin_max_display_interstitial,
            AdFormat.DISPLAY_INTERSTITIAL,
            IntegrationKind.MAX,
            AppLovinMaxDisplayInterstitialActivity::class.java,
        ),
        TestCase(
            R.string.app_lovin_max_video_rewarded,
            AdFormat.VIDEO_REWARDED,
            IntegrationKind.MAX,
            AppLovinMaxVideoRewardedActivity::class.java,
        ),
        TestCase(
            R.string.app_lovin_max_native,
            AdFormat.NATIVE,
            IntegrationKind.MAX,
            AppLovinMaxNativeActivity::class.java,
        ),

    )

}