/// <summary> /// Initializes an instance of <c>TalkAddedToTrack</c> /// </summary> /// <param name="trackId">Unique identity of the track</param> /// <param name="talkId">Unique identity of the talk added</param> /// <param name="title">Title of Talk</param> /// <param name="startTime">Start time of talk</param> public TalkAddedToTrack(TrackId trackId, TalkId talkId, Title title, TalkStartTime startTime) { TrackId = trackId; TalkId = talkId; Title = title; StartTime = startTime; }
/// <summary> /// Initializes an instance of <c>TalkCreated</c> /// </summary> /// <param name="talkId">Unique identity of the talk created</param> /// <param name="title">Title of Talk</param> /// <param name="description">Description of talk</param> /// <param name="startTime">Start time of the talk</param> public TalkCreated(TalkId talkId, Title title, Description description, TalkStartTime startTime) { TalkId = talkId; Title = title; Description = description; StartTime = startTime; }
public void Create_ConferenceWithTalkInAfternoon_ReturnsConference() { // Arrange var conferenceId = Guid.NewGuid(); var trackId = Guid.NewGuid(); var talkIdAfternoon = Guid.NewGuid(); var conferenceIdObj = ConferenceId.Create(conferenceId).Data; var conference = Conference.Create(conferenceIdObj).Data; var trackIdObj = TrackId.Create(trackId).Data; conference.AddTrack(trackIdObj); AddTalkToTrack(conference, trackIdObj, Guid.NewGuid(), "Morning - 1", "1st Morning Session 60 mins", 60); AddTalkToTrack(conference, trackIdObj, Guid.NewGuid(), "Morning - 2", "2nd Morning Session 60 mins", 60); AddTalkToTrack(conference, trackIdObj, Guid.NewGuid(), "Morning - 3", "3rd Morning Session 60 mins", 60); var talkIdObjAfternoon = TalkId.Create(talkIdAfternoon).Data; var titleAfternoon = Title.Create("Afternoon talk").Data; var descriptionAfternoon = Description.Create("This is the Afternoon talk").Data; var durationAfternoon = Duration.Create(TimeSpan.FromMinutes(45)).Data; // 45 mins var startTimeAfternoon = TalkStartTime.Create(DateTime.Today.AddHours(13)).Data; // 1PM // Act var afternoonTalkAddedToTrackEventResult = conference.AddTalkToTrack(trackIdObj, talkIdObjAfternoon, titleAfternoon, descriptionAfternoon, durationAfternoon); // Assert Assert.IsTrue(afternoonTalkAddedToTrackEventResult.IsSuccess); var talkAddedToTrackEvent = conference.Events.OfType <TalkAddedToTrack>().LastOrDefault(); Assert.IsNotNull(talkAddedToTrackEvent); Assert.AreEqual(trackIdObj, talkAddedToTrackEvent.TrackId); Assert.AreEqual(talkIdObjAfternoon, talkAddedToTrackEvent.TalkId); Assert.AreEqual(startTimeAfternoon, talkAddedToTrackEvent.StartTime); }
public void Create_StartTimeAfterLunchHour_ReturnsSuccess() { // Greater than 1 PM var afterLunchHourStartTimeResult = TalkStartTime.Create(DateTime.Today.AddHours(13).AddMinutes(0)); Assert.IsTrue(afterLunchHourStartTimeResult.IsSuccess); }
public void Create_StartTimeBeforeLunchHour_ReturnsSuccess() { // Less than 12 Noon var beforeLunchHourStartTimeResult = TalkStartTime.Create(DateTime.Today.AddHours(11).AddMinutes(59)); Assert.IsTrue(beforeLunchHourStartTimeResult.IsSuccess); }
public void Create_ConferenceWithTalkInMorning_ReturnsConference() { // Arrange var conferenceId = Guid.NewGuid(); var trackId = Guid.NewGuid(); var talkId = Guid.NewGuid(); var conferenceIdObj = ConferenceId.Create(conferenceId).Data; var trackIdObj = TrackId.Create(trackId).Data; var talkIdObj = TalkId.Create(talkId).Data; var title = Title.Create("First talk").Data; var description = Description.Create("This is the first talk").Data; var duration = Duration.Create(TimeSpan.FromMinutes(30)).Data; // 30 minutes var morningSessionDateTime = TalkStartTime.Create(DateTime.Today.AddHours(9)).Data; // 9AM var conference = Conference.Create(conferenceIdObj).Data; conference.AddTrack(trackIdObj); // Act var addTalkToTrackResult = conference.AddTalkToTrack(trackIdObj, talkIdObj, title, description, duration); // Assert Assert.IsTrue(addTalkToTrackResult.IsSuccess); var talkAddedToTrackEvent = conference.Events.OfType <TalkAddedToTrack>().FirstOrDefault(); Assert.IsNotNull(talkAddedToTrackEvent); Assert.AreEqual(trackIdObj, talkAddedToTrackEvent.TrackId); Assert.AreEqual(talkIdObj, talkAddedToTrackEvent.TalkId); Assert.AreEqual(morningSessionDateTime, talkAddedToTrackEvent.StartTime); Assert.IsNull(addTalkToTrackResult.Error); }
public void Create_StartTimeBeforeMorningSession_ReturnFailure() { var createStartTimeBeforeMorningSessionResult = TalkStartTime.Create(DateTime.Today.AddHours(8)); Assert.AreEqual(true, createStartTimeBeforeMorningSessionResult.IsFailure); Assert.AreEqual(ErrorCodes.Invalid.ToString(), createStartTimeBeforeMorningSessionResult.Error.Value.Code); Assert.AreEqual("Invalid start time", createStartTimeBeforeMorningSessionResult.Error.Value.Message); }
public void Create_StartTimeWithinNetworkingEvent_ReturnsFailure() { var withinNetworkingEventStartTimeResult = TalkStartTime.Create(DateTime.Today.AddHours(16).AddMinutes(1)); Assert.IsTrue(withinNetworkingEventStartTimeResult.IsFailure); withinNetworkingEventStartTimeResult = TalkStartTime.Create(DateTime.Today.AddHours(16).AddMinutes(59)); Assert.IsTrue(withinNetworkingEventStartTimeResult.IsFailure); }
public void Create_StartTimeWithinNetworkingEvent_ReturnFailure() { var createStartTimeWithinLunchResult = TalkStartTime.Create(DateTime.Today.AddHours(16).AddMinutes(1)); Assert.AreEqual(true, createStartTimeWithinLunchResult.IsFailure); createStartTimeWithinLunchResult = TalkStartTime.Create(DateTime.Today.AddHours(17).AddMinutes(59)); Assert.AreEqual(true, createStartTimeWithinLunchResult.IsFailure); }
public void Create_StartTimeWithinAfternoonSession_ReturnSuccess() { var createStartTimeWithinAfternoonSessionResult = TalkStartTime.Create(DateTime.Today.AddHours(13)); Assert.AreEqual(true, createStartTimeWithinAfternoonSessionResult.IsSuccess); createStartTimeWithinAfternoonSessionResult = TalkStartTime.Create(DateTime.Today.AddHours(15).AddMinutes(59)); Assert.AreEqual(true, createStartTimeWithinAfternoonSessionResult.IsSuccess); }
public void Create_StartTimeWithinLunchHour_ReturnsFailure() { // After 12PM var withinLunchHourStartTimeResult = TalkStartTime.Create(DateTime.Today.AddHours(12).AddMinutes(1)); Assert.IsTrue(withinLunchHourStartTimeResult.IsFailure); // Before 1 PM withinLunchHourStartTimeResult = TalkStartTime.Create(DateTime.Today.AddHours(12).AddMinutes(59)); Assert.IsTrue(withinLunchHourStartTimeResult.IsFailure); }
public void Create_StartTimeAfterNetworkingEvent_ReturnsFailure() { var afterNetworkingEventStartTimeResult = TalkStartTime.Create(DateTime.Today.AddHours(17).AddMinutes(1)); Assert.IsTrue(afterNetworkingEventStartTimeResult.IsFailure); }
public void Create_StartTimeBeforeNetworkingEvent_ReturnsSuccess() { var beforeNetworkingEventStartTimeResult = TalkStartTime.Create(DateTime.Today.AddHours(15).AddMinutes(59)); Assert.IsTrue(beforeNetworkingEventStartTimeResult.IsSuccess); }