Curson { @Nullable public static <T> T fromCursor(@NonNull Cursor cursor, @NonNull Class<T> entity, int position) { return fromCursor(cursor, entity, position, true); }  @NonNull static Cursor toCursor(@NonNull T obj, @NonNull Class<T> entity); @NonNull static Cursor toCursor(@NonNull List<T> obj, @NonNull Class<T> entity); @Nullable static T fromCursor(@NonNull Cursor cursor, @NonNull Class<T> entity, int position); @Nullable static T fromCursor(@NonNull Cursor cursor, @NonNull Class<T> entity, int position, boolean autoClose); @NonNull static List<T> fromCursor(@NonNull Cursor cursor, @NonNull Class<T> entity); @NonNull static List<T> fromCursor(@NonNull Cursor cursor, @NonNull Class<T> entity, boolean autoClose);  }
@Test(expected = IllegalArgumentException.class) public void zeroBindingsBindThrowException() { Cursor mockCursor = MockCursor.newInstance(); Curson.fromCursor(mockCursor, EmptyEntity.class, 0); }
@Test(expected = IllegalArgumentException.class) public void zeroBindingsBindThrowException_autoCursorCloseFalse() { Cursor mockCursor = MockCursor.newInstance(); Curson.fromCursor(mockCursor, EmptyEntity.class, 0, false); }
@Test(expected = IllegalArgumentException.class) public void zeroBindingsBindThrowException_autoCursorClose() { Cursor mockCursor = new MockCursor(); Curson.fromCursor(mockCursor, EmptyEntity.class); }