public void AddEvent(Event eventItem) { string eventTitleLowerCase = eventItem.Title.ToLowerInvariant(); this.eventsByTitle.Add(eventTitleLowerCase, eventItem); this.eventsByDate.Add(eventItem.Date, eventItem); }
private string ProcessCommandAddEvent(Command command) { if (command.Params.Length != 2 && command.Params.Length != 3) { throw new ArgumentException("Invalid number of command parameters."); } DateTime date = DateTime.ParseExact(command.Params[0], "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); string title = command.Params[1]; string location; if (command.Params.Length == 2) // there isn't location { location = null; } else { location = command.Params[2]; } Event newEvent = new Event() { Date = date, Title = title, Location = location }; this.eventsManager.AddEvent(newEvent); return "Event added"; }
private string AddEvent(Command command) { var date = DateTime.ParseExact( command.paramms[0], "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); if (command.paramms.Length == 2) { var ev = new Event { date = date, Title = command.paramms[1], Location = null, }; this.eventsManager.AddEvent(ev); } if (command.paramms.Length == 3) { var ev = new Event { date = date, Title = command.paramms[1], Location = command.paramms[2], }; this.eventsManager.AddEvent(ev); } return "Event added"; }
public void DeleteEventsByTitle_ValidInputAndValidDeleting() { string dateTimeFormat = "yyyy-MM-ddTHH:mm:ss"; int numberOfAddedEvents = 50; int numberOfOtherEvents = 20; string date = "2012-01-21T20:00:00"; DateTime eventDate = DateTime.ParseExact(date, dateTimeFormat, CultureInfo.InvariantCulture); string eventTitle = "party Viki"; Event currentEvent = new Event(eventDate, eventTitle); EventsManager currentEventManager = new EventsManager(); for (int i = 0; i < numberOfAddedEvents; i++) { currentEventManager.AddEvent(currentEvent); } string otherDate = "2015-01-21T20:00:00"; DateTime otherEventDate = DateTime.ParseExact(otherDate, dateTimeFormat, CultureInfo.InvariantCulture); string otherEventTitle = "C# exam"; Event otherEvent = new Event(otherEventDate, otherEventTitle); for (int i = 0; i < numberOfOtherEvents; i++) { currentEventManager.AddEvent(otherEvent); } int deletedEvents = currentEventManager.DeleteEventsByTitle(eventTitle); bool isNumberOfDeletedEventsCorrect = deletedEvents == numberOfAddedEvents; Assert.IsTrue(isNumberOfDeletedEventsCorrect, "Number of deleted events is incorect!"); }
public void ListEvents_CountIsBigger() { string dateTimeFormat = "yyyy-MM-ddTHH:mm:ss"; int numberOfAddedEvents = 50; int numberOfOtherEvents = 20; string date = "2012-01-21T20:00:00"; DateTime eventDate = DateTime.ParseExact(date, dateTimeFormat, CultureInfo.InvariantCulture); string eventTitle = "party Viki"; Event currentEvent = new Event(eventDate, eventTitle); EventsManager currentEventManager = new EventsManager(); for (int i = 0; i < numberOfAddedEvents; i++) { currentEventManager.AddEvent(currentEvent); } string otherDate = "2015-01-21T20:00:00"; DateTime otherEventDate = DateTime.ParseExact(otherDate, dateTimeFormat, CultureInfo.InvariantCulture); string otherEventTitle = "C# exam"; Event otherEvent = new Event(otherEventDate, otherEventTitle); for (int i = 0; i < numberOfOtherEvents; i++) { currentEventManager.AddEvent(otherEvent); } IEnumerable<Event> foundEvents = currentEventManager.ListEvents(eventDate, 20); bool isNumberOfFoundEventsCorrect = foundEvents.Count() == 20; Assert.IsTrue(isNumberOfFoundEventsCorrect, "Number of found events is incorect!"); }
public void TestAddMultipleSameDateEvents() { EventsManagerFast eventManager = new EventsManagerFast(); Event ev = new Event(); ev.Title = "Rock party - 407026"; ev.Date = DateTime.ParseExact("2001-01-01T08:30:03", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); ev.Location = "home - 681328"; eventManager.AddEvent(ev); Event ev2 = new Event(); ev2.Title = "Chalga party"; ev2.Date = DateTime.ParseExact("2001-01-01T08:30:03", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); ev2.Location = "- 235165"; eventManager.AddEvent(ev2); Event ev3 = new Event(); ev3.Title = "Party LORA"; ev3.Date = DateTime.ParseExact("2001-01-01T08:30:03", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); ev3.Location = "at school - 4795"; eventManager.AddEvent(ev3); Assert.AreEqual(1, eventManager.EventsByDateCount); Assert.AreEqual(3, eventManager.EventsByTitleCount); }
private string ExecuteAddEvent(Command command) { var date = DateTime.ParseExact( command.Parameters[0], "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); var eventItem = new Event { Date = date, Title = command.Parameters[1], }; if (command.Parameters.Length == 2) { eventItem.Location = null; } else if (command.Parameters.Length == 3) { eventItem.Location = command.Parameters[2]; } else { throw new ArgumentException("WTF " + command.Name + " is?", "command.CommandName"); } this.eventsManager.AddEvent(eventItem); return "Event added"; }
public string ProcessCommand(Command command) { if (command.CommandName == "AddEvent") { string location; if (command.Parameters.Length == 2) { location = null; } else { location = command.Parameters[2]; } var date = DateTime.ParseExact(command.Parameters[0], DateFormat, CultureInfo.InvariantCulture); var title = command.Parameters[1]; Event newEvent = new Event(date, title, location); this.eventsManagerList.AddEvent(newEvent); return "Event added"; } if ((command.CommandName == "DeleteEvents") && (command.Parameters.Length == 1)) { int numberOfAddedEvents = this.eventsManagerList.DeleteEventsByTitle(command.Parameters[0]); if (numberOfAddedEvents == 0) { return "No events found"; } return numberOfAddedEvents + " events deleted"; } if ((command.CommandName == "ListEvents") && (command.Parameters.Length == 2)) { var date = DateTime.ParseExact(command.Parameters[0], DateFormat, CultureInfo.InvariantCulture); var numberOfElementsToList = int.Parse(command.Parameters[1]); var eventsList = this.eventsManagerList.ListEvents(date, numberOfElementsToList).ToList(); if (!eventsList.Any()) { return "No events found"; } StringBuilder result = new StringBuilder(); foreach (var ev in eventsList) { result.AppendLine(ev.ToString()); } return result.ToString().Trim(); } throw new ArgumentException("Invalid command name: " + command.CommandName); }
public void AddEventEmptyTitleTest() { EventsManager manager = new EventsManager(); Event occasion = new Event("", "location", DateTime.Now); manager.AddEvent(occasion); var testObj = (MultiDictionary<string, Event>)GetInstanceField(typeof(EventsManager), manager, "_eventsDictionary"); Assert.AreNotEqual(1, testObj.Count); }
public void AddEvent(Event ev) { if (ev == null) { throw new ArgumentNullException("Event can't be null."); } this.events.Add(ev); }
public string ProcessCommand(Command command) { if (command.Name == "AddEvent") { var eventDate = DateTime.ParseExact(command.Parameters[0], "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); string eventTitle = command.Parameters[1]; string eventLocation = string.Empty; if (command.Parameters.Length == 3) { eventLocation = command.Parameters[2]; } var eventToAdd = new Event(eventTitle, eventLocation, eventDate); this.Manager.AddEvent(eventToAdd); return "Event added"; } else if ((command.Name == "DeleteEvents") && (command.Parameters.Length == 1)) { int count = this.Manager.DeleteEventsByTitle(command.Parameters[0]); if (count == 0) { return "No events found."; } return count + " events deleted"; } else if ((command.Name == "ListEvents") && (command.Parameters.Length == 2)) { var date = DateTime.ParseExact(command.Parameters[0], "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); var count = int.Parse(command.Parameters[1]); var events = this.Manager.ListEvents(date, count).ToList(); var eventsList = new StringBuilder(); if (events.Count == 0) { return "No events found"; } foreach (var eventToList in events) { eventsList.AppendLine(eventToList.ToString()); } string result = eventsList.ToString().Trim(); return result; } else { throw new InvalidCommandException("Command " + command.Name + " is invalid"); } }
public void AddEventInvalidFormatLocationTest() { EventsManager manager = new EventsManager(); string location = " l| \n ocation "; Event occasion = new Event("title", location, DateTime.Now); manager.AddEvent(occasion); var testObj = (MultiDictionary<string, Event>)GetInstanceField(typeof(EventsManager), manager, "_eventsDictionary"); Assert.AreNotEqual(1, testObj.Count); }
public int CompareTo(Event otherEvent) { int result = DateTime.Compare(this.EventDate, otherEvent.EventDate); if (result == 0) { result = string.Compare(this.Title, otherEvent.Title, StringComparison.Ordinal); } return result; }
public void AddEvent(Event ev) { if (ev == null) { throw new ArgumentNullException("Event can't be null."); } string eventTitleLowerCase = ev.Title.ToLower(); this.titles.Add(eventTitleLowerCase, ev); this.dates.Add(ev.Date, ev); }
public void AddEventInvalidFormatTitleTest() { EventsManager manager = new EventsManager(); string title = " t| \n itle "; Event occasion = new Event(title.ToString(), "location", DateTime.Now); manager.AddEvent(occasion); var testObj = (MultiDictionary<string, Event>)GetInstanceField(typeof(EventsManager), manager, "_eventsDictionary"); Assert.AreNotEqual(1, testObj.Count); }
public void EventManagerAddEvent() { Event e = new Event(); e.Date = new DateTime(2000, 10, 10); e.Location = "Pri baba"; e.Title = "Grupovo gushene na patki :)))"; EventsManager eventsManager = new EventsManager(); eventsManager.AddEvent(e); }
public void AddDuplicatedEvent() { EventsManagerFast fastManager = new EventsManagerFast(); var date = DateTime.ParseExact("2012-01-21T20:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); Event firstEvent = new Event(date, "Party 3", "Sofia"); fastManager.AddEvent(firstEvent); fastManager.AddEvent(firstEvent); Assert.AreEqual(2, fastManager.Count); }
public void TestAddSingleEvent() { EventsManagerFast eventManager = new EventsManagerFast(); Event ev = new Event(); ev.Title = "Rock party - 407026"; ev.Date = DateTime.ParseExact("2012-03-31T23:59:57", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); ev.Location = "home - 681328"; eventManager.AddEvent(ev); Assert.AreEqual(1, eventManager.EventsByTitleCount); }
/// <summary> /// Adds an event to the list of events. /// If the event already exists, it is added again (duplicates are accepted). /// </summary> /// <param name="event">The event to be added.</param> public void AddEvent(Event @event) { if (@event == null) { throw new ArgumentNullException("event"); } string eventTitleLowerCase = @event.Title.ToLowerInvariant(); this.eventsByTitle.Add(eventTitleLowerCase, @event); this.eventsByDate.Add(@event.Date, @event); }
public void TestAddEvent_When3EventsAdded() { EventsManagerFast manager = new EventsManagerFast(); //first event string titleCSharp = "C# exam"; var dateCSharp = DateTime.ParseExact( "2012-03-26T09:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); string locationCSharp = "Home"; var evCSharp1 = new Event { date = dateCSharp, Title = titleCSharp, Location = locationCSharp, }; manager.AddEvent(evCSharp1); //second event string title = "C++ exam"; var dateCPlus = DateTime.ParseExact( "2011-02-26T09:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); string locationCPlus = "Academy"; var evCPlus = new Event { date = dateCPlus, Title = title, Location = locationCPlus, }; //third event string titleCSharp2 = "C# exam"; var dateCSharp2 = DateTime.ParseExact( "2012-03-26T09:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); string locationCSharp2 = "Home"; var evCSharp2 = new Event { date = dateCSharp2, Title = titleCSharp2, Location = locationCSharp2, }; manager.AddEvent(evCSharp2); var result = manager.ListEvents(dateCSharp, 2); int actual = result.Count(); Assert.AreEqual(2, actual); }
public void Add5000Events() { EventsManagerFast fastManager = new EventsManagerFast(); var date = DateTime.ParseExact("2012-01-21T20:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); for (int i = 0; i < 5000; i++) { Event newEvent = new Event(date, "Party " + i, "Sofia"); fastManager.AddEvent(newEvent); } Assert.AreEqual(5000, fastManager.Count); }
public void EventManagerDeleteEventByTitleOneEvent() { Event e = new Event(); e.Date = new DateTime(2000, 10, 10); e.Location = "Pri baba"; e.Title = "Grupovo gushene na patki :)))"; EventsManager eventsManager = new EventsManager(); eventsManager.AddEvent(e); var expected = eventsManager.DeleteEventsByTitle(e.Title); Assert.AreEqual(expected, 1); }
public void AddEventTooLongLocationTest() { EventsManager manager = new EventsManager(); StringBuilder location = new StringBuilder(); for (int i = 0; i <= 150; i++) { location.Append("location"); } Event occasion = new Event("title", location.ToString(), DateTime.Now); manager.AddEvent(occasion); var testObj = (MultiDictionary<string, Event>)GetInstanceField(typeof(EventsManager), manager, "_eventsDictionary"); Assert.AreNotEqual(1, testObj.Count); }
private string ProcessAddEvent(Command command) { if (!(command.Parameters.Count == 2 || command.Parameters.Count == 3)) { throw new FormatException("Invalid number of parameters: " + command.Parameters.Count); } DateTime date = ParseDate(command.Parameters[0]); string title = command.Parameters[1]; string location = (command.Parameters.Count == 3) ? command.Parameters[2] : null; Event @event = new Event(date, title, location); this.eventsManager.AddEvent(@event); return "Event added"; }
public void AddEventEmptyAndNullLocationTest() { EventsManagerFast fastManager = new EventsManagerFast(); var firstDate = DateTime.ParseExact("2012-01-21T20:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); var secondDate = DateTime.ParseExact("2012-05-21T20:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); var thirdDate = DateTime.ParseExact("2012-09-21T20:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); Event firstEvent = new Event(firstDate, "Party 1"); // empty location Event secondEvent = new Event(secondDate, "Party 2", null); // null location Event thirdEvent = new Event(thirdDate, "Party 3", "Sofia"); fastManager.AddEvent(firstEvent); fastManager.AddEvent(secondEvent); fastManager.AddEvent(thirdEvent); Assert.AreEqual(3, fastManager.Count); }
private string ProcessCommandAddWithThreeParams(Command command) { DateTime date = DateTime.ParseExact(command.Parameters[0], "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); Event ev = new Event { DateTime = date, Title = command.Parameters[1], Location = command.Parameters[2], }; this.eventsProcessor.AddEvent(ev); string message = "Event added"; return message; }
private string AddEvent(Command cmd) { DateTime date = DateTime.ParseExact(cmd.CommandParams[0], "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); if (cmd.CommandParams.Length == 2) { Event currentEvent = new Event(date, cmd.CommandParams[1], null); this.eventsManager.AddEvent(currentEvent); } else { Event currentEvent = new Event(date, cmd.CommandParams[1], cmd.CommandParams[2]); this.eventsManager.AddEvent(currentEvent); } return "Event added"; }
private string AddEventCommand(params string[] parameters) { var date = DateTime.ParseExact(parameters[0], "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); var title = parameters[1]; var location = parameters.Length > 2 ? parameters[2] : null; var e = new Event { Date = date, Title = title, Location = location }; this.eventsManager.AddEvent(e); return "Event added"; }
public void AddEventTest() { EventsManagerFast fastManager = new EventsManagerFast(); var firstDate = DateTime.ParseExact("2012-01-21T20:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); var secondDate = DateTime.ParseExact("2012-05-21T20:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); var thirdDate = DateTime.ParseExact("2012-09-21T20:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); Event firstEvent = new Event(firstDate, "Party 1", "Sofia"); Event secondEvent = new Event(secondDate, "Party 2", "Burgas"); Event thirdEvent = new Event(thirdDate, "Party 3", "Varna"); fastManager.AddEvent(firstEvent); fastManager.AddEvent(secondEvent); fastManager.AddEvent(thirdEvent); Assert.AreEqual(3, fastManager.Count); }
public void TestDeleteEvents_Delete1CheckCaseSensitivity() { FastEventsManager eventManager = new FastEventsManager(); Event eventItem = new Event(); eventItem.Date = DateTime.ParseExact( "2001-01-01T10:00:00", "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); eventItem.Title = "pArTy"; eventItem.Location = "nowhere"; eventManager.AddEvent(eventItem); int deletedEvents = eventManager.DeleteEventsByTitle("party"); Assert.AreEqual(1, deletedEvents); }