public IEnumerable <Talk> Process(List <string> talkList)
        {
            var registeredTalks = new List <Talk>();

            foreach (var talk in talkList)
            {
                var    unit  = CheckForValidUnit(talk);
                string topic = null;


                var durationPosition = talk.IndexOfAny("0123456789".ToCharArray());

                var duration = "1";

                if (durationPosition == -1)
                {
                    topic = talk.Substring(0, talk.LastIndexOf(unit, StringComparison.OrdinalIgnoreCase));
                }
                else
                {
                    topic = talk.Substring(0, durationPosition);

                    duration = talk.Substring(durationPosition,
                                              talk.LastIndexOfAny("0123456789".ToCharArray()) - durationPosition + 1);
                }


                var talkDuration = new TalkDuration((TimeUnit)Enum.Parse(typeof(TimeUnit), unit, true)
                                                    , Convert.ToInt32(duration));

                registeredTalks.Add(new Talk(topic, talkDuration));
            }

            return(registeredTalks);
        }
Exemple #2
0
 public void Initialize()
 {
     _duration  = new TalkDuration(TimeUnit.Min, 60);
     _scheduler = new SimpleScheduler();
     SetDaysSchedule();
     _testConference = new Conference(_scheduler, _days);
     _testConference.ResultFormatter = new TextFileFormatter();
 }
Exemple #3
0
        public async void RegisterTalkWithInvalidTitle()
        {
            // arrange
            var Title    = "Writing Fast Tests Against Enterprise Rails: 60min";
            var Duration = new TalkDuration {
                TalkLength = 60, TalkLengthType = TalkLengthTypeEnum.Minutes
            };

            //act
            void action() => new Talk(Guid.NewGuid(), Title, Duration);

            //assert
            Assert.Throws <ArgumentException>((Action)action);
        }
Exemple #4
0
 public void ThrowExceptionForInvalidDuration()
 {
     _duration = new TalkDuration(TimeUnit.Min, -10);
     _testTalk = new Talk("Topic", _duration);
 }
Exemple #5
0
 public void Initialize()
 {
     _duration = new TalkDuration(TimeUnit.Min, 60);
     _testTalk = new Talk("Topic", _duration);
 }