public void TestvCalendar() { string input = @"BEGIN:VCALENDAR VERSION:2.0 METHOD:PUBLISH BEGIN:VEVENT DTSTART;TZID=America/New_York:20150325T113000 DTEND;TZID=America/New_York:20150325T123000 SUMMARY:GoToWebinar - TMS 2014: Media Metadata Writing & Injection LOCATION:GoToWebinar - See conference call information below END:VEVENT END:VCALENDAR"; vCalendar vcalendar = new vCalendar(input); Assert.IsTrue(vcalendar.vEvents.Count == 1); Assert.IsTrue(vcalendar.Properties.Count == 2); Assert.IsTrue(vcalendar.Properties[0].Name.Equals("VERSION")); Assert.IsTrue(vcalendar.Properties[0].Value.Equals("2.0")); Assert.IsTrue(vcalendar.Properties[0].Parameters.Count == 0); Assert.IsTrue(vcalendar.Properties[1].Name.Equals("METHOD")); Assert.IsTrue(vcalendar.Properties[1].Value.Equals("PUBLISH")); Assert.IsTrue(vcalendar.Properties[1].Parameters.Count == 0); vEvent vevent = vcalendar.vEvents[0]; Assert.IsTrue(vevent.ContentLines.Count == 4); Assert.IsTrue(vevent.ContentLines[0].Name.Equals("DTSTART")); Assert.IsTrue(vevent.ContentLines[0].Value.Equals("20150325T113000")); Assert.IsTrue(vevent.ContentLines[0].Parameters.Count == 1); Assert.IsTrue(vevent.ContentLines[0].Parameters.ContainsKey("TZID")); Assert.IsTrue(vevent.ContentLines[0].Parameters["TZID"].Count == 1); Assert.IsTrue(vevent.ContentLines[0].Parameters["TZID"][0].Equals("America/New_York")); Assert.IsTrue(vevent.ContentLines[1].Name.Equals("DTEND")); Assert.IsTrue(vevent.ContentLines[1].Value.Equals("20150325T123000")); Assert.IsTrue(vevent.ContentLines[1].Parameters.Count == 1); Assert.IsTrue(vevent.ContentLines[1].Parameters.ContainsKey("TZID")); Assert.IsTrue(vevent.ContentLines[1].Parameters["TZID"].Count == 1); Assert.IsTrue(vevent.ContentLines[1].Parameters["TZID"][0].Equals("America/New_York")); Assert.IsTrue(vevent.ContentLines[2].Name.Equals("SUMMARY")); Assert.IsTrue(vevent.ContentLines[2].Value.Equals("GoToWebinar - TMS 2014: Media Metadata Writing & Injection")); Assert.IsTrue(vevent.ContentLines[2].Parameters.Count == 0); Assert.IsTrue(vevent.ContentLines[3].Name.Equals("LOCATION")); Assert.IsTrue(vevent.ContentLines[3].Value.Equals("GoToWebinar - See conference call information below")); Assert.IsTrue(vevent.ContentLines[3].Parameters.Count == 0); }
public void TestCorrectInput() { vCalendar vcalendar = new vCalendar(@"BEGIN:VCALENDAR VERSION:2.0 METHOD:PUBLISH X-WR-CALDESC:CheckMyTrip Calendar X-WR-CALNAME:2THQ73 PRODID:-//Amadeus/trip//NONSGML v1.0//EN BEGIN:VEVENT DTSTAMP:20150408T101400Z UID:2THQ73FlightVIE_201504172000_201504172050 DTSTART:20150417T180000Z DTEND:20150417T185000Z SUMMARY:2THQ73 / Hennies - Flight: Vienna - Prague (Austrian Airlines OS 711) LOCATION:Vienna International (Vienna\, Austria) TRANSP:TRANSPARENT DESCRIPTION:Trip status: Confirmed\n \n FLIGHT INFORMATION: \n \n Austrian Airlines OS 711: \n \n \n From: Vienna International (Vienna\, Austria) at Fri\, Apr 17\, 2015 20:00 (local time) \n To: Ruzyne (Prague\, Czech Republic) - Terminal2 at Fri\, Apr 17\, 2015 20:50 (local time) \n Cabin: Economy\n Duration: 00:50\n Stop(s): 0\n Aircraft: De Havilland DHC-8 400 Series\n Airline Recloc: 2THQ73\n \n http://www.checkmytrip.com/CMTServlet?R=2THQ73&L=US&N=Hennies\n END:VEVENT BEGIN:VEVENT DTSTAMP:20150408T101400Z UID:2THQ73FlightPRG_201504191840_201504191935 DTSTART:20150419T164000 DTEND:20150419T173500 SUMMARY:2THQ73 / Hennies - Flight 1 : Prague - Vienna (Austrian Airlines OS 710) LOCATION:Ruzyne (Prague\, Czech Republic) TRANSP:TRANSPARENT DESCRIPTION:Trip status: Confirmed\n \n FLIGHT INFORMATION: \n \n Austrian Airlines OS 710: \n \n \n From: Ruzyne (Prague\, Czech Republic) - Terminal2 at Sun\, Apr 19\, 2015 18:40 (local time) \n To: Vienna International (Vienna\, Austria) at Sun\, Apr 19\, 2015 19:35 (local time) \n Cabin: Economy\n Duration: 00:55\n Stop(s): 0\n Aircraft: Fokker 70\n \n http://www.checkmytrip.com/CMTServlet?R=2THQ73&L=US&N=Hennies\n END:VEVENT BEGIN:VEVENT DTSTAMP:20150408T101400Z UID:2THQ73FlightVIE_201504192035_201504192130 DTSTART:20150419T183500Z DTEND:20150419T193000Z SUMMARY:2THQ73 / Hennies - Flight 2 : Vienna - Innsbruck (Austrian Airlines OS 913) LOCATION:Vienna International (Vienna\, Austria) TRANSP:TRANSPARENT DESCRIPTION:Trip status: Confirmed\n \n FLIGHT INFORMATION: \n \n Austrian Airlines OS 913: \n \n \n From: Vienna International (Vienna\, Austria) at Sun\, Apr 19\, 2015 20:35 (local time) \n To: Innsbruck Airport (Innsbruck\, Austria) at Sun\, Apr 19\, 2015 21:30 (local time) \n Cabin: Economy\n Duration: 00:55\n Stop(s): 0\n Aircraft: Fokker 100\n \n http://www.checkmytrip.com/CMTServlet?R=2THQ73&L=US&N=Hennies\n END:VEVENT END:VCALENDAR"); iCalendar ical = new iCalendar(vcalendar); var a = ical[0].StartTime.ToLocalTime(); }