package com.plusonelabs.calendar; import android.test.InstrumentationTestCase; import android.util.Log; import com.plusonelabs.calendar.calendar.CalendarQueryResultsStorage; import com.plusonelabs.calendar.calendar.MockCalendarContentProvider; import com.plusonelabs.calendar.widget.CalendarEntry; import org.json.JSONException; import java.io.IOException; /** * @author yvolk@yurivolkov.com */ public class WrongDatesLostEventsTest extends InstrumentationTestCase { private static final String TAG = WrongDatesLostEventsTest.class.getSimpleName(); private MockCalendarContentProvider provider = null; private EventRemoteViewsFactory factory = null; @Override protected void setUp() throws Exception { super.setUp(); provider = MockCalendarContentProvider.getContentProvider(this); factory = new EventRemoteViewsFactory(provider.getContext(), provider.getWidgetId()); } @Override protected void tearDown() throws Exception { provider.tearDown(); super.tearDown(); } /** * https://github.com/plusonelabs/calendar-widget/issues/205 */ public void testIssue205() throws IOException, JSONException { final String method = "testIssue205"; CalendarQueryResultsStorage inputs = provider.loadResults(this.getInstrumentation().getContext(), com.plusonelabs.calendar.tests.R.raw.wrong_dates_lost_events); provider.addResults(inputs.getResults()); Log.d(method, "Results executed at " + inputs.getResults().get(0).getExecutedAt()); factory.onDataSetChanged(); factory.logWidgetEntries(method); assertEquals("Number of entries", 10, factory.getWidgetEntries().size()); assertEquals("On Saturday", "Maker Fair", ((CalendarEntry) factory.getWidgetEntries().get(4)).getEvent().getTitle()); assertEquals("On Saturday", 6, factory.getWidgetEntries().get(4).getStartDate().getDayOfWeek()); assertEquals("On Sunday", "Ribakovs", ((CalendarEntry) factory.getWidgetEntries().get(7)).getEvent().getTitle()); assertEquals("On Sunday", 7, factory.getWidgetEntries().get(7).getStartDate().getDayOfWeek()); } }