private void GenerateSessions(SessionAllocator sessionAllocator, List <Block> talks) { for (var i = 0; i < _numberOfTracks; i++) { sessionAllocator.AllocateTalksToSession(talks); } }
public void It_Should_Return_CorrectTimesForTalks_When_Given_AListOfTalks() { //arrange var talks = new List <Block> { new Block("Ruby on Rails: Why We Should Move On 60min", 60), new Block("Ruby on Rails Legacy App Maintenance 60min", 60), new Block("Overdoing it in Python 45min", 45), new Block("Ruby Errors from Mismatched Gem Versions 45min", 45), }; var afternoonSession = new SessionAllocator(ConfigurationLoader.LoadSessionConfiguration("afternoonSession.json")); //act afternoonSession.AllocateTalksToSession(talks); //assert var expectedTalkTimes = new List <TimeSpan> { new TimeSpan(13, 0, 0), new TimeSpan(14, 0, 0), new TimeSpan(15, 0, 0), new TimeSpan(15, 45, 0), new TimeSpan(17, 0, 0) }; var actualTalkTimes = afternoonSession.Sessions[0].Select(x => x.TimeSlot).ToList(); Assert.True(actualTalkTimes.SequenceEqual(expectedTalkTimes)); }
public void It_Should_Return_AListOfTalksThatFitIntoTheMorningSession_Given_AListOfTalks(List <Block> availableTalks, List <string> expectedAllocatedTalks) { //arrange var morningSession = new SessionAllocator(ConfigurationLoader.LoadSessionConfiguration("morningSession.json")); //act morningSession.AllocateTalksToSession(availableTalks); //assert Assert.Equal(expectedAllocatedTalks, morningSession.Sessions[0].Select(x => x.BlockName)); }
public void It_Should_Update_IsAllocated_ToTrue_AfterAllocatingATalk() { //arrange var talks = new List <Block> { new Block("Ruby on Rails: Why We Should Move On 60min", 60), new Block("Rails for Python Developers lightning", 5) }; var morningSession = new SessionAllocator(ConfigurationLoader.LoadSessionConfiguration("morningSession.json")); //act morningSession.AllocateTalksToSession(talks); //assert foreach (var talk in morningSession.Sessions[0]) { Assert.True(talk.IsAllocated); } }