Exemple #1
0
        public void Create_StartTime_IsEqual_EndTime_Duration_Is_Zero(string input)
        {
            var result = TimeSlot.Create(input);

            if (result.IsFailure)
            {
                Assert.Fail(result.Error);
            }

            var timeSlot = result.Value;

            Assert.AreEqual(TimeSpan.Zero, timeSlot.Duration);
        }
Exemple #2
0
        public void Create_From_TwoTimeValues_StartTime_IsNotEqual_EndTime(string input)
        {
            var result = TimeSlot.Create(input);

            if (result.IsFailure)
            {
                Assert.Fail(result.Error);
            }

            var timeSlot = result.Value;

            Assert.AreNotEqual(timeSlot.StartTime, timeSlot.EndTime);
        }
Exemple #3
0
        private static Result <IEnumerable <Day> > CreateDaysFromLoadedData(
            IEnumerable <JsonDaysData> loadedData)
        {
            var days = new Dictionary <DateTime, Day>();

            foreach (var daysData in loadedData)
            {
                var timeSlots = new List <TimeSlot>();
                foreach (var timeSlotData in daysData.TimeSlots)
                {
                    var createdTimeSlot = TimeSlot.Create(timeSlotData);
                    if (createdTimeSlot.IsFailure)
                    {
                        return(Result <IEnumerable <Day> > .Fail(createdTimeSlot.Error));
                    }

                    timeSlots.Add(createdTimeSlot.Value);
                }

                foreach (var dateData in daysData.Dates)
                {
                    var createdDate = Date.Create(dateData);
                    if (createdDate.IsFailure)
                    {
                        return(Result <IEnumerable <Day> > .Fail(createdDate.Error));
                    }

                    var day = new Day(createdDate.Value, timeSlots);
                    if (days.ContainsKey(day.Date))
                    {
                        return(Result <IEnumerable <Day> > .Fail($"Day with {day.Date:d} date already exists."));
                    }

                    days[day.Date] = day;
                }
            }

            var result = days.Values.ToList();

            result.Sort();

            return(Result <IEnumerable <Day> > .Ok(result));
        }
Exemple #4
0
        public void Create_IsSuccess(string input)
        {
            var result = TimeSlot.Create(input);

            Assert.IsTrue(result.IsSuccess);
        }