package pl.llp.aircasting.storage;
import pl.llp.aircasting.InjectedTestRunner;
import pl.llp.aircasting.storage.db.WritableDatabaseTask;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import com.google.inject.Inject;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.concurrent.atomic.AtomicInteger;
import static org.fest.assertions.Assertions.assertThat;
/**
* Created by ags on 03/16/13 at 19:33
*/
@RunWith(InjectedTestRunner.class)
public class DatabaseWriterIntentServiceTest
{
@Inject DatabaseWriterService service;
@Inject DatabaseTaskQueue taskService;
WritableDatabaseTask task;
Intent intent = new Intent();
@Test
public void should_execute_task() throws Exception
{
// given
final AtomicInteger value = new AtomicInteger();
task = new WritableDatabaseTask<Void>()
{
@Override
public Void execute(SQLiteDatabase writableDatabase)
{
value.incrementAndGet();
return null;
}
};
taskService.add(task);
// when
service.unitOfAction();
// then
assertThat(value.get()).isEqualTo(1);
}
}