package me.guillaumin.android.osmtracker.test.activity;
import junit.framework.Assert;
import me.guillaumin.android.osmtracker.R;
import me.guillaumin.android.osmtracker.activity.TrackDetail;
import me.guillaumin.android.osmtracker.db.TrackContentProvider;
import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema;
import me.guillaumin.android.osmtracker.test.util.MockData;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.Intent;
import android.database.Cursor;
import android.test.ActivityInstrumentationTestCase2;
import android.test.UiThreadTest;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
public class TrackDetailTest extends ActivityInstrumentationTestCase2<TrackDetail> {
private long trackId;
public TrackDetailTest() {
super("me.guillaumin.android.osmtracker", TrackDetail.class);
}
@Override
protected void setUp() throws Exception {
trackId = MockData.mockTrack(getInstrumentation().getContext());
Intent i = new Intent();
i.putExtra(Schema.COL_TRACK_ID, trackId);
setActivityIntent(i);
}
@UiThreadTest
public void testSave() {
ContentResolver cr = getInstrumentation().getContext().getContentResolver();
Cursor cursor = cr.query(
ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, trackId),
null, null, null, null);
Assert.assertTrue(cursor.moveToFirst());
Assert.assertEquals("gpx-test", cursor.getString(cursor.getColumnIndex(Schema.COL_NAME)));
Assert.assertNull(cursor.getString(cursor.getColumnIndex(Schema.COL_DESCRIPTION)));
Assert.assertNull(cursor.getString(cursor.getColumnIndex(Schema.COL_TAGS)));
Assert.assertEquals("Private", cursor.getString(cursor.getColumnIndex(Schema.COL_OSM_VISIBILITY)));
cursor.close();
((EditText) getActivity().findViewById(R.id.trackdetail_item_name)).setText("test name");
((EditText) getActivity().findViewById(R.id.trackdetail_item_description)).setText("test description");
((EditText) getActivity().findViewById(R.id.trackdetail_item_tags)).setText("test tags");
((Spinner) getActivity().findViewById(R.id.trackdetail_item_osm_visibility)).setSelection(1);
((Button) getActivity().findViewById(R.id.trackdetail_btn_ok)).performClick();
cursor = cr.query(
ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, trackId),
null, null, null, null);
Assert.assertTrue(cursor.moveToFirst());
Assert.assertEquals("test name", cursor.getString(cursor.getColumnIndex(Schema.COL_NAME)));
Assert.assertEquals("test description", cursor.getString(cursor.getColumnIndex(Schema.COL_DESCRIPTION)));
Assert.assertEquals("test tags", cursor.getString(cursor.getColumnIndex(Schema.COL_TAGS)));
Assert.assertEquals("Public", cursor.getString(cursor.getColumnIndex(Schema.COL_OSM_VISIBILITY)));
cursor.close();
}
}