private bool ScheduleInEvening(Talk talk, Day day) { foreach (var track in day.Tracks) { var duration = talk.Duration.Value * (int)(talk.Duration.Unit); if (TalkCanBeScheduledInEvening(duration, track)) { track.EveningSession.Talks.Add(talk); track.EveningSession.TimeRemaining = track.EveningSession .TimeRemaining.Subtract(new TimeSpan(0, duration, 0)); return true; } } return false; }
public void ThrowExceptionForInvalidDuration() { _duration = new TalkDuration(TimeUnit.Min, -10); _testTalk = new Talk("Topic", _duration); }
public void ThrowExceptionIfTitleContainsNumbers() { _testTalk = new Talk("Topic1", _duration); }
public void ReturnOneIfOneTalkRegistered() { Talk testTalk = new Talk("test Topic", _duration); _testConference.TalksLoader = new SingleTalkLoader(testTalk); _testConference.RegisterTalks(); Assert.AreEqual(_testConference.TotalTalks, 1); }
public void Initialize() { _duration = new TalkDuration(TimeUnit.Min, 60); _testTalk = new Talk("Topic", _duration); }
public void ReturnNullIfTalkIsNotRegistered() { Talk testTalk1 = new Talk("TopicOne", _duration); _testConference.TalksLoader = new SingleTalkLoader(testTalk1); _testConference.RegisterTalks(); var registeredTalk = _testConference.GetTalkByName("TopicTwo"); Assert.AreEqual(_testConference.TotalTalks, 1); Assert.AreEqual(null, registeredTalk); }
public void RegisterTheTalkProperly() { Talk testTalk = new Talk("test Topic", _duration); _testConference.TalksLoader=new SingleTalkLoader(testTalk); _testConference.RegisterTalks(); Talk registerTestTalk = _testConference.GetTalkByName("test Topic"); Assert.AreEqual(testTalk.Topic, registerTestTalk.Topic); Assert.AreEqual(_testConference.TotalTalks, 1); Assert.AreEqual(testTalk.Duration, registerTestTalk.Duration); }
public void RegisterMultipleTalksProperly() { var testTalk1 = new Talk("TopicOne", _duration); var testTalk2 = new Talk("TopicTwo", _duration); var testTalk3 = new Talk("TopicThree", _duration); _testConference.TalksLoader = new SingleTalkLoader(testTalk1); _testConference.RegisterTalks(); _testConference.TalksLoader = new SingleTalkLoader(testTalk2); _testConference.RegisterTalks(); _testConference.TalksLoader = new SingleTalkLoader(testTalk3); _testConference.RegisterTalks(); var registeredTalk = _testConference.GetTalkByName("TopicOne"); Assert.AreEqual(_testConference.TotalTalks, 3); Assert.AreEqual(testTalk1.Topic, registeredTalk.Topic); }
public SingleTalkLoader(Talk talk) { _talk = talk; }
public void AddTalk(Talk talk) { Talks.Add(talk); }