< Summary - Syki

Information
Class: Syki.Back.Features.Academic.CreateClass.ScheduleExtensions
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Academic/CreateClass/ScheduleExtensions.cs
Tag: 21_17346963026
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 29
Line coverage: 100%
Branch coverage
100%
Covered branches: 10
Total branches: 10
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ToSchedules(...)100%1010100%

File(s)

/home/runner/work/syki/syki/Back/Features/Academic/CreateClass/ScheduleExtensions.cs

#LineLine coverage
 1namespace Syki.Back.Features.Academic.CreateClass;
 2
 3public static class ScheduleExtensions
 4{
 5    extension(List<ScheduleIn> schedulesIn)
 6    {
 7        public OneOf<List<Schedule>, SykiError> ToSchedules()
 8        {
 12949            var result = schedulesIn.ConvertAll(h => Schedule.New(h.Day, h.Start, h.End));
 257210            foreach (var schedule in result)
 11            {
 66612                if (schedule.IsError) return schedule.Error;
 13            }
 14
 127015            var schedules = result.ConvertAll(x => x.Success);
 16
 127217            for (int i = 0; i < schedules.Count-1; i++)
 18            {
 9219                for (int j = i+1; j < schedules.Count; j++)
 20                {
 3421                    if (schedules[i].Conflict(schedules[j]))
 1822                        return new ConflictingSchedules();
 23                }
 24            }
 25
 121426            return result.ConvertAll(x => x.Success);
 27        }
 28    }
 29}