< Summary

Class:MUNity.Database.FluentAPI.TeamRoleGroupBuilder
Assembly:MUNity.Database
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityDatabase\FluentAPI\TeamRoleGroupBuilder.cs
Covered lines:45
Uncovered lines:1
Coverable lines:46
Total lines:72
Line coverage:97.8% (45 of 46)
Covered branches:7
Total branches:8
Branch coverage:87.5% (7 of 8)
Covered methods:9
Total methods:9
Method coverage:100% (9 of 9)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
get_Group()100%1100%
WithName(...)50%283.33%
WithFullName(...)100%2100%
WithShort(...)100%1100%
WithRole(...)100%1100%
WithRole(...)100%1100%
WithRoleLevel(...)100%2100%
WithParentRole(...)100%2100%
.ctor()100%1100%

File(s)

C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityDatabase\FluentAPI\TeamRoleGroupBuilder.cs

#LineLine coverage
 1using System;
 2using MUNity.Database.Models.Conference;
 3using MUNity.Database.Models.Conference.Roles;
 4
 5namespace MUNity.Database.FluentAPI;
 6
 7public class TeamRoleGroupBuilder : ITeamRoleBuilder, IRolesContainingTeamRoleBuilder
 8{
 489    public TeamRoleGroup Group { get; }
 10
 11    public ITeamRoleBuilder WithName(string name)
 212    {
 213        this.Group.Name = name;
 214        if (string.IsNullOrEmpty(Group.FullName))
 015            Group.FullName = name;
 216        return this;
 217    }
 18
 19    public ITeamRoleBuilder WithFullName(string fullName)
 220    {
 221        this.Group.FullName = fullName;
 222        if (string.IsNullOrEmpty(Group.Name))
 223            Group.Name = fullName;
 224        return this;
 225    }
 26
 27    public ITeamRoleBuilder WithShort(string shortName)
 228    {
 229        this.Group.TeamRoleGroupShort = shortName;
 230        return this;
 231    }
 32
 33    public IRolesContainingTeamRoleBuilder WithRole(Action<TeamRoleBuilder> options)
 1334    {
 1335        var builder = new TeamRoleBuilder(Group);
 1336        options(builder);
 1337        Group.TeamRoles.Add(builder.Role);
 1338        return this;
 1339    }
 40
 41    public IRolesContainingTeamRoleBuilder WithRole(string name, string shortName = "")
 1242    {
 2443        return WithRole(options => options.WithFullName(name)
 2444            .WithName(name)
 2445            .WithShort(shortName));
 1246    }
 47
 48    public IRolesContainingTeamRoleBuilder WithRoleLevel(int level)
 149    {
 2750        foreach (var conferenceTeamRole in Group.TeamRoles)
 1251        {
 1252            conferenceTeamRole.TeamRoleLevel = level;
 1253        }
 54
 155        return this;
 156    }
 57
 58    public IRolesContainingTeamRoleBuilder WithParentRole(ConferenceTeamRole role)
 159    {
 2760        foreach (var conferenceTeamRole in Group.TeamRoles)
 1261        {
 1262            conferenceTeamRole.ParentTeamRole = role;
 1263        }
 64
 165        return this;
 166    }
 67
 268    public TeamRoleGroupBuilder()
 269    {
 270        Group = new TeamRoleGroup();
 271    }
 72}