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));
    }
Example #3
0
        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);
                }
            }
        }