package com.thebluealliance.androidclient.database.writers; import com.google.gson.Gson; import com.thebluealliance.androidclient.database.Database; import com.thebluealliance.androidclient.database.DatabaseMocker; import com.thebluealliance.androidclient.database.tables.DistrictTeamsTable; import com.thebluealliance.androidclient.datafeed.HttpModule; import com.thebluealliance.androidclient.datafeed.framework.ModelMaker; import com.thebluealliance.androidclient.models.DistrictRanking; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import android.database.sqlite.SQLiteDatabase; import java.util.List; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @Config(manifest = Config.NONE) @RunWith(RobolectricTestRunner.class) public class DistrictTeamListWriterTest { @Mock Database mDb; @Mock DistrictTeamsTable mTable; private List<DistrictRanking> mDistrictTeams; private DistrictTeamListWriter mWriter; private Gson mGson; @Before public void setUp() { mDb = mock(Database.class); mTable = DatabaseMocker.mockDistrictTeamsTable(mDb); mDistrictTeams = ModelMaker.getModelList(DistrictRanking.class, "2015ne_rankings"); mWriter = new DistrictTeamListWriter(mDb); mGson = HttpModule.getGson(); } @Test public void testDistrictTeamListWriter() { mWriter.write(mDistrictTeams, 0L); SQLiteDatabase db = mDb.getWritableDatabase(); for (DistrictRanking districtTeam : mDistrictTeams) { verify(db).insert(Database.TABLE_DISTRICTTEAMS, null, districtTeam.getParams(mGson)); } } }