Created
July 12, 2017 08:28
-
-
Save abhinav272/8129d87551251f81a3c5ce6e79447dc3 to your computer and use it in GitHub Desktop.
ICALParser unit test, using ActivityTestRule
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.content.ContentValues; | |
import android.provider.CalendarContract; | |
import android.support.test.rule.ActivityTestRule; | |
import android.test.ActivityUnitTestCase; | |
import junit.framework.Assert; | |
import net.fortuna.ical4j.data.ParserException; | |
import org.junit.After; | |
import org.junit.Before; | |
import org.junit.Rule; | |
import org.junit.Test; | |
import java.io.IOException; | |
import java.io.InputStream; | |
public class ICALParserTest { | |
@Rule | |
public ActivityTestRule<ClassDetailActivity> mActivityTestRule = new ActivityTestRule<>(ClassDetailActivity.class); | |
InputStream inputStream; | |
ICALParser parser; | |
ContentValues contentValues; | |
private String descriptionText; | |
@Before | |
public void setup() { | |
descriptionText = "My Local Social training\n" + | |
"Date: 27 Jun 2017\n" + | |
"Time: 05:45 AM - 06:30 AM CDT\n" + | |
"Instructor: Roger Fedrer\n" + | |
"Studio: Main Studio"; | |
inputStream = getClass().getClassLoader().getResourceAsStream("events.ics"); | |
Assert.assertNotNull("Test file is available", inputStream); | |
try { | |
parser = new ICALParser(inputStream); | |
Assert.assertNotNull("Parser created", parser); | |
contentValues = parser.buildContentValues(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} catch (ParserException e) { | |
e.printStackTrace(); | |
} | |
try { | |
inputStream.close(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
} | |
@Test | |
public void validateBasicValues() throws IOException { | |
Assert.assertEquals( true, contentValues.containsKey(CalendarContract.Events.HAS_ALARM)); | |
if (contentValues.containsKey(CalendarContract.Events.HAS_ALARM)){ | |
Assert.assertEquals(1, contentValues.get(CalendarContract.Events.HAS_ALARM)); | |
} | |
Assert.assertEquals(true, contentValues.containsKey(CalendarContract.Events.CALENDAR_ID)); | |
if (contentValues.containsKey(CalendarContract.Events.CALENDAR_ID)){ | |
Assert.assertEquals(1, contentValues.get(CalendarContract.Events.CALENDAR_ID)); | |
} | |
} | |
@Test | |
public void validateTimeZone() { | |
Assert.assertEquals( true, contentValues.containsKey(CalendarContract.Events.EVENT_TIMEZONE)); | |
if (contentValues.containsKey(CalendarContract.Events.EVENT_TIMEZONE)){ | |
Assert.assertEquals("America/Chicago", contentValues.get(CalendarContract.Events.EVENT_TIMEZONE)); | |
} | |
Assert.assertEquals(true, contentValues.containsKey(CalendarContract.Events.EVENT_END_TIMEZONE)); | |
if (contentValues.containsKey(CalendarContract.Events.EVENT_END_TIMEZONE)){ | |
Assert.assertEquals("America/Chicago", contentValues.get(CalendarContract.Events.EVENT_END_TIMEZONE)); | |
} | |
} | |
@Test | |
public void validateEventDetails() { | |
Assert.assertEquals( true, contentValues.containsKey(CalendarContract.Events.DTEND)); | |
if (contentValues.containsKey(CalendarContract.Events.DTEND)){ | |
Assert.assertEquals("1498563000000", contentValues.get(CalendarContract.Events.DTEND).toString()); | |
} | |
Assert.assertEquals( true, contentValues.containsKey(CalendarContract.Events.DTSTART)); | |
if (contentValues.containsKey(CalendarContract.Events.DTSTART)){ | |
Assert.assertEquals("1498560300000", contentValues.get(CalendarContract.Events.DTSTART).toString()); | |
} | |
Assert.assertEquals( true, contentValues.containsKey(CalendarContract.Events.DESCRIPTION)); | |
if (contentValues.containsKey(CalendarContract.Events.DESCRIPTION)){ | |
Assert.assertEquals(descriptionText, contentValues.get(CalendarContract.Events.DESCRIPTION)); | |
} | |
Assert.assertEquals( true, contentValues.containsKey(CalendarContract.Events.EVENT_LOCATION)); | |
if (contentValues.containsKey(CalendarContract.Events.EVENT_LOCATION)){ | |
Assert.assertEquals("MY LOCAL ADDRESS", contentValues.get(CalendarContract.Events.EVENT_LOCATION)); | |
} | |
Assert.assertEquals( true, contentValues.containsKey(CalendarContract.Events.TITLE)); | |
if (contentValues.containsKey(CalendarContract.Events.TITLE)){ | |
Assert.assertEquals("TRAINING NAME", contentValues.get(CalendarContract.Events.TITLE)); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment