1 package org.columba.calendar.parser; 2 3 import java.io.File ; 4 import java.util.Iterator ; 5 6 import junit.framework.TestCase; 7 8 import org.columba.calendar.base.CalendarItem; 9 import org.columba.calendar.base.api.ICalendarItem; 10 import org.columba.calendar.model.api.IEventInfo; 11 import org.columba.calendar.model.api.IRecurrence; 12 13 import com.miginfocom.calendar.activity.recurrence.RecurrenceRule; 14 15 public class CalendarImporterTest extends TestCase { 16 17 public void testImportCalendar() { 18 File example1 = new File ("calendar/src/test/resources/SunbirdEvents.ics"); 19 CalendarItem calendarItem = new CalendarItem("example", ICalendarItem.TYPE.LOCAL, "example", null); 20 CalendarImporter importer = new CalendarImporter(); 21 Iterator <IEventInfo> i = null; 22 try { 23 i = importer.importCalendar(calendarItem, example1); 24 } catch (Exception e) { 25 e.printStackTrace(); 26 fail("Got following exception:" + e.getMessage()); 27 } 28 29 for (;i.hasNext();) { 31 IEventInfo entry = i.next(); 32 if ("Anniversary".equals(entry.getEvent().getSummary())) { 34 assertEquals("Anniversary", entry.getEvent().getCategories()); 35 assertEquals("Anniversary every year", entry.getEvent().getDescription()); 36 assertEquals(15, entry.getEvent().getDtStamp().get(java.util.Calendar.DAY_OF_MONTH)); 37 assertEquals(0, entry.getEvent().getDtStamp().get(java.util.Calendar.MONTH)); 38 assertEquals(2007, entry.getEvent().getDtStamp().get(java.util.Calendar.YEAR)); 39 assertEquals(21, entry.getEvent().getDtStamp().get(java.util.Calendar.HOUR_OF_DAY)); 41 assertEquals(45, entry.getEvent().getDtStamp().get(java.util.Calendar.MINUTE)); 42 assertEquals(24, entry.getEvent().getDtStamp().get(java.util.Calendar.SECOND)); 43 assertEquals("cb5f77cd-655d-45f9-9b78-04bb668abccc", entry.getEvent().getId()); 44 assertEquals(IRecurrence.RECURRENCE_ANNUALLY, entry.getEvent().getRecurrence().getType()); 45 assertEquals(IRecurrence.RECURRENCE_END_FOREVER, entry.getEvent().getRecurrence().getEndType()); 46 assertEquals("20070125", entry.getEvent().getDtStart().get(java.util.Calendar.YEAR) + "0" + (entry.getEvent().getDtStart().get(java.util.Calendar.MONTH)+1) + "" + entry.getEvent().getDtStart().get(java.util.Calendar.DAY_OF_MONTH) + ""); 47 assertEquals("20070126", entry.getEvent().getDtEnd().get(java.util.Calendar.YEAR) + "0" + (entry.getEvent().getDtEnd().get(java.util.Calendar.MONTH)+1) + "" + entry.getEvent().getDtEnd().get(java.util.Calendar.DAY_OF_MONTH) + ""); 48 } else if ("AllDayEvent".equals(entry.getEvent().getSummary())) { 50 assertEquals("Business", entry.getEvent().getCategories()); 51 assertEquals("I will the whole day do some work", entry.getEvent().getDescription()); 52 assertEquals("PUBLIC", entry.getEvent().getEventClass()); 53 assertEquals("5", entry.getEvent().getPriority()); 54 assertEquals(15, entry.getEvent().getDtStamp().get(java.util.Calendar.DAY_OF_MONTH)); 55 assertEquals(0, entry.getEvent().getDtStamp().get(java.util.Calendar.MONTH)); 56 assertEquals(2007, entry.getEvent().getDtStamp().get(java.util.Calendar.YEAR)); 57 assertEquals("CONFIRMED", entry.getEvent().getStatus()); 58 assertEquals(23, entry.getEvent().getDtStart().get(java.util.Calendar.DAY_OF_MONTH)); 59 assertEquals(0, entry.getEvent().getDtStart().get(java.util.Calendar.MONTH)); 60 assertEquals(2007, entry.getEvent().getDtStart().get(java.util.Calendar.YEAR)); 61 assertEquals(0, entry.getEvent().getDtStart().get(java.util.Calendar.HOUR_OF_DAY)); 62 assertEquals(0, entry.getEvent().getDtStart().get(java.util.Calendar.MINUTE)); 63 assertEquals(0, entry.getEvent().getDtStart().get(java.util.Calendar.SECOND)); 64 assertEquals(24, entry.getEvent().getDtEnd().get(java.util.Calendar.DAY_OF_MONTH)); 65 assertEquals(0, entry.getEvent().getDtEnd().get(java.util.Calendar.MONTH)); 66 assertEquals(2007, entry.getEvent().getDtEnd().get(java.util.Calendar.YEAR)); 67 assertEquals(0, entry.getEvent().getDtEnd().get(java.util.Calendar.HOUR_OF_DAY)); 68 assertEquals(0, entry.getEvent().getDtEnd().get(java.util.Calendar.MINUTE)); 69 assertEquals(0, entry.getEvent().getDtEnd().get(java.util.Calendar.SECOND)); 70 assertEquals("at home", entry.getEvent().getLocation()); 71 assertEquals("8197de12-8a20-4dd0-a13a-4e932745914e", entry.getEvent().getId()); 72 } else if ("NormalEvent".equals(entry.getEvent().getSummary())) { 74 System.out.println("Normal Event"); 75 } 76 } 77 } 78 79 public void testImportCalendarRecurrence() { 80 File example1 = new File ("calendar/src/test/resources/SunbirdRecurrendEvents.ics"); 81 CalendarItem calendarItem = new CalendarItem("example", ICalendarItem.TYPE.LOCAL, "example", null); 82 CalendarImporter importer = new CalendarImporter(); 83 Iterator <IEventInfo> i = null; 84 try { 85 i = importer.importCalendar(calendarItem, example1); 86 } catch (Exception e) { 87 e.printStackTrace(); 88 fail("Got following exception:" + e.getMessage()); 89 } 90 91 for (;i.hasNext();) { 93 IEventInfo entry = i.next(); 94 95 } 96 } 97 98 public void testCorrectUid() { 99 String uid = ""; 100 assertEquals(true, CalendarImporter.correctUid(uid).length() > 0); 101 uid = "uuid:197601031$§%&§$%&&-_"; 102 assertEquals("uuid-197601031----------_", CalendarImporter.correctUid(uid)); 103 } 104 105 } 106
| Popular Tags
|