public void HideShorterThan10Minutes() { VCalendarParser calendar = new VCalendarParser(); calendar.ParseFile("SampleCalendar.ics"); EWSoftware.PDI.Objects.VEvent ev_5minutes = calendar.VCalendar.Events.AddNew(); ev_5minutes.UniqueId.Value = Guid.NewGuid().ToString(); ev_5minutes.StartDateTime.DateTimeValue = new DateTime(2015, 01, 01); ev_5minutes.EndDateTime.DateTimeValue = ev_5minutes.StartDateTime.DateTimeValue.AddMinutes(5); EWSoftware.PDI.Objects.VEvent ev_10minutes = calendar.VCalendar.Events.AddNew(); ev_10minutes.UniqueId.Value = Guid.NewGuid().ToString(); ev_10minutes.StartDateTime.DateTimeValue = new DateTime(2015, 01, 01); ev_10minutes.EndDateTime.DateTimeValue = ev_10minutes.StartDateTime.DateTimeValue.AddMinutes(10); EWSoftware.PDI.Objects.VEvent ev_15minutes = calendar.VCalendar.Events.AddNew(); ev_15minutes.UniqueId.Value = Guid.NewGuid().ToString(); ev_15minutes.StartDateTime.DateTimeValue = new DateTime(2015, 01, 01).AddHours(2); ev_15minutes.EndDateTime.DateTimeValue = ev_15minutes.StartDateTime.DateTimeValue.AddMinutes(15); Assert.AreEqual(1, calendar.VCalendar.Events.Count(ev => ev.UniqueId == ev_5minutes.UniqueId)); Assert.AreEqual(1, calendar.VCalendar.Events.Count(ev => ev.UniqueId == ev_10minutes.UniqueId)); Assert.AreEqual(1, calendar.VCalendar.Events.Count(ev => ev.UniqueId == ev_15minutes.UniqueId)); // filter out all-day events EventManager em = new EventManager(calendar); em.Filter(new FilteringOptions("min=10")); System.Collections.Generic.IList <EWSoftware.PDI.Objects.VEvent> eventsAfterFiltering = em.GetEventList(); Assert.AreEqual(0, eventsAfterFiltering.Count(ev => ev.UniqueId == ev_5minutes.UniqueId)); Assert.AreEqual(1, eventsAfterFiltering.Count(ev => ev.UniqueId == ev_10minutes.UniqueId)); Assert.AreEqual(1, eventsAfterFiltering.Count(ev => ev.UniqueId == ev_15minutes.UniqueId)); }
public void HideIfTitleContainsString() { VCalendarParser calendar = new VCalendarParser(); calendar.ParseFile("SampleCalendar.ics"); EWSoftware.PDI.Objects.VEvent ev_str1 = calendar.VCalendar.Events.AddNew(); ev_str1.UniqueId.Value = Guid.NewGuid().ToString(); ev_str1.StartDateTime.DateTimeValue = new DateTime(2015, 01, 01); ev_str1.EndDateTime.DateTimeValue = ev_str1.StartDateTime.DateTimeValue.AddDays(1); ev_str1.Summary.Value = "this is a [hidden] event"; EWSoftware.PDI.Objects.VEvent ev_str2 = calendar.VCalendar.Events.AddNew(); ev_str2.UniqueId.Value = Guid.NewGuid().ToString(); ev_str2.StartDateTime.DateTimeValue = new DateTime(2015, 01, 01); ev_str2.EndDateTime.DateTimeValue = ev_str2.StartDateTime.DateTimeValue.AddDays(1); ev_str2.Summary.Value = "[hidden] event too"; EWSoftware.PDI.Objects.VEvent ev_nostr = calendar.VCalendar.Events.AddNew(); ev_nostr.UniqueId.Value = Guid.NewGuid().ToString(); ev_nostr.StartDateTime.DateTimeValue = new DateTime(2015, 01, 01).AddHours(2); ev_nostr.EndDateTime.DateTimeValue = ev_nostr.StartDateTime.DateTimeValue.AddDays(1).AddHours(-2); ev_nostr.Summary.Value = "this is not hidden"; Assert.AreEqual(1, calendar.VCalendar.Events.Count(ev => Equals(ev.UniqueId, ev_str1.UniqueId))); Assert.AreEqual(1, calendar.VCalendar.Events.Count(ev => Equals(ev.UniqueId, ev_str2.UniqueId))); Assert.AreEqual(1, calendar.VCalendar.Events.Count(ev => Equals(ev.UniqueId, ev_nostr.UniqueId))); // filter out all-day events EventManager em = new EventManager(calendar); em.Filter(new FilteringOptions("st=[hidden]")); System.Collections.Generic.IList <EWSoftware.PDI.Objects.VEvent> eventsAfterFiltering = em.GetEventList(); Assert.AreEqual(0, eventsAfterFiltering.Count(ev => ev.UniqueId == ev_str1.UniqueId)); Assert.AreEqual(0, eventsAfterFiltering.Count(ev => ev.UniqueId == ev_str2.UniqueId)); Assert.AreEqual(1, eventsAfterFiltering.Count(ev => ev.UniqueId == ev_nostr.UniqueId)); }
internal void AddDocument(Document doc, IState state) { indexStream.WriteLong(fieldsStream.FilePointer); System.Collections.Generic.IList <IFieldable> fields = doc.GetFields(); int storedCount = fields.Count(field => field.IsStored); fieldsStream.WriteVInt(storedCount); foreach (IFieldable field in fields) { if (field.IsStored) { WriteField(fieldInfos.FieldInfo(field.Name), field, state); } } }