package io.pivotal.arca.adapters;
import android.database.MatrixCursor;
import android.test.AndroidTestCase;
import android.view.View;
import android.widget.TextView;
public class ViewBinderTest extends AndroidTestCase {
public void testViewBinderSucceedsBindingTextView() {
final String[] columns = new String[] { "_id" };
final MatrixCursor cursor = createCursor(columns);
final Binding binding = createBinding(columns, cursor);
final TextView textView = new TextView(getContext());
final ViewBinder.DefaultViewBinder binder = new ViewBinder.DefaultViewBinder();
binder.setViewValue(textView, cursor, binding);
assertEquals("test", textView.getText());
}
public void testViewBinderSucceedsBindingView() {
final String[] columns = new String[] { "_id" };
final MatrixCursor cursor = createCursor(columns);
final Binding binding = createBinding(columns, cursor);
final View view = new TextView(getContext());
final ViewBinder.DefaultViewBinder binder = new ViewBinder.DefaultViewBinder();
final boolean bound = binder.setViewValue(view, cursor, binding);
assertTrue(bound);
}
public void testViewBinderFailsBindingView() {
final String[] columns = new String[] { "_id" };
final MatrixCursor cursor = createCursor(columns);
final Binding binding = createBinding(columns, cursor);
final View view = new View(getContext());
final ViewBinder.DefaultViewBinder binder = new ViewBinder.DefaultViewBinder();
final boolean bound = binder.setViewValue(view, cursor, binding);
assertFalse(bound);
}
private static Binding createBinding(final String[] columns, final MatrixCursor cursor) {
final Binding binding = new Binding(0, columns[0]);
binding.findColumnIndex(cursor);
return binding;
}
private static MatrixCursor createCursor(final String[] columns) {
final MatrixCursor cursor = new MatrixCursor(columns);
cursor.addRow(new String[] { "test" });
cursor.moveToFirst();
return cursor;
}
}