package ru.arturvasilov.sqlite.core; import android.content.ContentValues; import android.database.Cursor; import android.support.annotation.NonNull; import android.support.test.InstrumentationRegistry; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import org.sqlite.database.sqlite.SQLiteDatabase; /** * @author Artur Vasilov */ @RunWith(JUnit4.class) public class ContentProviderErrorsTest { private static final Table<Integer> BAD_TABLE = new BadTable(); @Before public void setUp() throws Exception { SQLite.initialize(InstrumentationRegistry.getContext()); } @Test(expected = IllegalArgumentException.class) public void testBadQuery() throws Exception { SQLite.get().query(BAD_TABLE); } @Test(expected = IllegalArgumentException.class) public void testBadInsert() throws Exception { SQLite.get().insert(BAD_TABLE, 5); } @Test(expected = IllegalArgumentException.class) public void testBadUpdate() throws Exception { SQLite.get().update(BAD_TABLE, Where.create(), 100); } @Test(expected = IllegalArgumentException.class) public void testBadDelete() throws Exception { SQLite.get().delete(BAD_TABLE); } private static class BadTable extends BaseTable<Integer> { @Override public void onCreate(@NonNull SQLiteDatabase database) { throw new RuntimeException("Stub!"); } @NonNull @Override public ContentValues toValues(@NonNull Integer integer) { return new ContentValues(); } @NonNull @Override public Integer fromCursor(@NonNull Cursor cursor) { throw new RuntimeException("Stub!"); } } }