1package com.xtremelabs.robolectric.tester.android.database; 2 3import android.net.Uri; 4 5import java.util.ArrayList; 6import java.util.List; 7 8public class SimpleTestCursor extends TestCursor { 9 public Uri uri; 10 public String[] projection; 11 public String selection; 12 public String[] selectionArgs; 13 public String sortOrder; 14 Object[][] results = new Object[0][0]; 15 List<String> columnNames= new ArrayList<String>(); 16 int resultsIndex = -1; 17 boolean closeWasCalled; 18 19 @Override 20 public void setQuery(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { 21 this.uri = uri; 22 this.projection = projection; 23 this.selection = selection; 24 this.selectionArgs = selectionArgs; 25 this.sortOrder = sortOrder; 26 } 27 28 @Override 29 public int getColumnIndex(String columnName) { 30 return columnNames.indexOf(columnName); 31 } 32 33 @Override 34 public String getString(int columnIndex) { 35 return (String) results[resultsIndex][columnIndex]; 36 } 37 38 @Override 39 public long getLong(int columnIndex) { 40 return (Long) results[resultsIndex][columnIndex]; 41 } 42 43 @Override 44 public boolean moveToNext() { 45 ++resultsIndex; 46 return resultsIndex < results.length; 47 } 48 49 @Override 50 public void close() { 51 closeWasCalled = true; 52 } 53 54 public void setColumnNames(ArrayList<String> columnNames) { 55 this.columnNames = columnNames; 56 } 57 58 public void setResults(Object[][] results) { 59 this.results = results; 60 } 61 62 public boolean getCloseWasCalled() { 63 return closeWasCalled; 64 } 65} 66