< Summary - Estud

Information
Class: Estud.Back.Features.Periods.CreateAcademicPeriod.CreateAcademicPeriodIn
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Periods/CreateAcademicPeriod/CreateAcademicPeriodIn.cs
Tag: 114_29044117136
Line coverage
76%
Covered lines: 13
Uncovered lines: 4
Coverable lines: 17
Total lines: 35
Line coverage: 76.4%
Branch coverage
100%
Covered branches: 6
Total branches: 6
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Name()100%11100%
get_StartAt()100%11100%
get_EndAt()100%11100%
.ctor()100%11100%
.ctor(...)100%66100%
GetExamples()100%210%

File(s)

/home/runner/work/syki/syki/Back/Features/Periods/CreateAcademicPeriod/CreateAcademicPeriodIn.cs

#LineLine coverage
 1namespace Estud.Back.Features.Periods.CreateAcademicPeriod;
 2
 3public class CreateAcademicPeriodIn : IApiDto<CreateAcademicPeriodIn>
 4{
 3485    public string? Name { get; set; }
 6
 7    /// <summary>
 8    /// Data de início
 9    /// </summary>
 34810    public DateOnly StartAt { get; set; }
 11
 12    /// <summary>
 13    /// Data de término
 14    /// </summary>
 34815    public DateOnly EndAt { get; set; }
 16
 13617    public CreateAcademicPeriodIn() { }
 18
 7219    public CreateAcademicPeriodIn(string name)
 20    {
 7221        Name = name;
 7222        var numbers = name.OnlyNumbers();
 8423        if (numbers.Length != 5) return;
 6024        var year = int.Parse(numbers.Substring(0, 4));
 6025        var digit = int.Parse(numbers.Substring(4, 1));
 6026        StartAt = digit == 1 ? new DateOnly(year, 02, 01) : new DateOnly(year, 06, 01);
 6027        EndAt = digit == 1 ? new DateOnly(year, 07, 01) : new DateOnly(year, 12, 01);
 6028    }
 29
 30    public static IEnumerable<(string, CreateAcademicPeriodIn)> GetExamples() =>
 031    [
 032        ("2024.1", new() { Name = "2024.1", StartAt = new(2024, 02, 01), EndAt = new(2024, 06, 05) }),
 033        ("2024.2", new() { Name = "2024.2", StartAt = new(2024, 07, 08), EndAt = new(2024, 12, 10) }),
 034    ];
 35}