public void ListEventsTooBigCountTest()
        {
            EventsManager manager = new EventsManager();
            //reflection test object
            Event occasion = null;
            OrderedMultiDictionary<DateTime, Event> dummyOrderedDictionary = new OrderedMultiDictionary<DateTime, Event>(true);

            for (int i = 0; i < 105; i++)
            {
                occasion = new Event("title" + i, "location" + i, DateTime.Now.AddHours(i));
                dummyOrderedDictionary.Add(DateTime.Now.AddHours(i), occasion);
                occasion = null;
            }

            FieldInfo fieldInfo = manager.GetType().GetField("_orderedEvents", BindingFlags.Instance | BindingFlags.NonPublic);
            fieldInfo.SetValue(manager, dummyOrderedDictionary);

            var result = manager.ListEvents(DateTime.Now, 101);
            Assert.AreEqual(0, result.Count());
        }
        public void ListValidEventsTest()
        {
            EventsManager manager = new EventsManager();
            //reflection test object
            Event occasion = new Event("title", "location", DateTime.Now.AddDays(1));
            Event occasion1 = new Event("title1", "location1", DateTime.Now.AddDays(2));
            Event occasion2 = new Event("title2", "location2", DateTime.Now.AddDays(3));
            Event occasion3 = new Event("title3", "location3", DateTime.Now.AddDays(4));

            OrderedMultiDictionary<DateTime, Event> dummyOrderedDictionary = new OrderedMultiDictionary<DateTime, Event>(true);
            dummyOrderedDictionary.Add(DateTime.Now.AddDays(1), occasion);
            dummyOrderedDictionary.Add(DateTime.Now.AddDays(2), occasion1);
            dummyOrderedDictionary.Add(DateTime.Now.AddDays(3), occasion2);
            dummyOrderedDictionary.Add(DateTime.Now.AddDays(4), occasion3);
            FieldInfo fieldInfo = manager.GetType().GetField("_orderedEvents", BindingFlags.Instance | BindingFlags.NonPublic);
            fieldInfo.SetValue(manager, dummyOrderedDictionary);

            var result = manager.ListEvents(DateTime.Now, 4);
            Assert.AreEqual(4, result.Count());
        }
        public void DeleteValidEventTest()
        {
            EventsManager manager = new EventsManager();
            //reflection test object
            Event occasion = new Event("title", "location", DateTime.Now);
            MultiDictionary<string, Event> dummyDictionary = new MultiDictionary<string,Event>(true);
            dummyDictionary.Add("title", occasion);
            FieldInfo fieldInfo = manager.GetType().GetField("_eventsDictionary", BindingFlags.Instance | BindingFlags.NonPublic);
            fieldInfo.SetValue(manager, dummyDictionary);

            int result = manager.DeleteEventsByTitle("title");
            Assert.AreEqual(1, result);
        }