< Summary

Class:MUNity.Database.FluentAPI.CommitteeOptionsBuilder
Assembly:MUNity.Database
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityDatabase\FluentAPI\CommitteeOptionsBuilder.cs
Covered lines:38
Uncovered lines:0
Coverable lines:38
Total lines:62
Line coverage:100% (38 of 38)
Covered branches:0
Total branches:0
Covered methods:9
Total methods:9
Method coverage:100% (9 of 9)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
get_Committee()100%1100%
WithName(...)100%1100%
WithFullName(...)100%1100%
WithShort(...)100%1100%
WithType(...)100%1100%
WithTopic(...)100%1100%
WithTopic(...)100%1100%
WithSubCommittee(...)100%1100%
.ctor()100%1100%

File(s)

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

#LineLine coverage
 1using System;
 2using MUNity.Base;
 3using MUNity.Database.Models.Conference;
 4
 5namespace MUNity.Database.FluentAPI;
 6
 7public class CommitteeOptionsBuilder
 8{
 1079    public Committee Committee { get; }
 10
 11    public CommitteeOptionsBuilder WithName(string name)
 912    {
 913        Committee.Name = name;
 914        return this;
 915    }
 16
 17    public CommitteeOptionsBuilder WithFullName(string fullName)
 918    {
 919        Committee.FullName = fullName;
 920        return this;
 921    }
 22
 23    public CommitteeOptionsBuilder WithShort(string shortName)
 824    {
 825        Committee.CommitteeShort = shortName;
 826        return this;
 827    }
 28
 29    public CommitteeOptionsBuilder WithType(CommitteeTypes type)
 830    {
 831        Committee.CommitteeType = type;
 832        return this;
 833    }
 34
 35    public CommitteeOptionsBuilder WithTopic(Action<CommitteeTopicOptionsBuilder> options)
 2236    {
 2237        var builder = new CommitteeTopicOptionsBuilder();
 2238        options(builder);
 2239        Committee.Topics.Add(builder.Topic);
 2240        return this;
 2241    }
 42
 43    public CommitteeOptionsBuilder WithTopic(string name)
 2244    {
 4445        return WithTopic(options => options.WithName(name));
 2246    }
 47
 48    public CommitteeOptionsBuilder WithSubCommittee(Action<CommitteeOptionsBuilder> options)
 249    {
 250        var builder = new CommitteeOptionsBuilder();
 251        options(builder);
 252        Committee.ChildCommittees.Add(builder.Committee);
 253        builder.Committee.ResolutlyCommittee = Committee;
 254        builder.Committee.Conference = this.Committee.Conference;
 255        return this;
 256    }
 57
 958    public CommitteeOptionsBuilder()
 959    {
 960        this.Committee = new Committee();
 961    }
 62}