Esempio n. 1
0
 private void GenerateSessions(SessionAllocator sessionAllocator, List <Block> talks)
 {
     for (var i = 0; i < _numberOfTracks; i++)
     {
         sessionAllocator.AllocateTalksToSession(talks);
     }
 }
Esempio n. 2
0
        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);
            }
        }