< Summary

Class:MUNity.Database.Models.Conference.Committee
Assembly:MUNity.Database
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityDatabase\Models\Conference\Committee.cs
Covered lines:17
Uncovered lines:0
Coverable lines:17
Total lines:89
Line coverage:100% (17 of 17)
Covered branches:0
Total branches:0
Covered methods:13
Total methods:13
Method coverage:100% (13 of 13)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
get_CommitteeId()100%1100%
get_Name()100%1100%
get_FullName()100%1100%
get_CommitteeShort()100%1100%
get_Article()100%1100%
get_CommitteeType()100%1100%
get_ResolutlyCommittee()100%1100%
get_ChildCommittees()100%1100%
get_Conference()100%1100%
get_Topics()100%1100%
get_Sessions()100%1100%
get_Resolutions()100%1100%
.ctor()100%1100%

File(s)

C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityDatabase\Models\Conference\Committee.cs

#LineLine coverage
 1using MUNity.Base;
 2using System;
 3using System.Collections.Generic;
 4using System.ComponentModel.DataAnnotations;
 5using System.ComponentModel.DataAnnotations.Schema;
 6using System.Linq;
 7using System.Runtime.Serialization;
 8using System.Text.Json.Serialization;
 9using System.Threading.Tasks;
 10
 11namespace MUNity.Database.Models.Conference;
 12
 13/// <summary>
 14/// The committees are listed inside each Conference. Every conference
 15/// needs to create its own list of committees, they should not be reused inside of other
 16/// Conferences. The seats of the committee are defined by the DelegateRoles.
 17///
 18/// For example a delegate role for Germany that references this committee would be one seat for germany.
 19/// Two roles of the same State in this committee would also mean two seats.
 20///
 21/// You cannot define seats for press or ngos inside a committee.
 22/// </summary>
 23public class Committee
 24{
 25    /// <summary>
 26    /// The id of the committee.
 27    /// </summary>
 4728    public string CommitteeId { get; set; } = "";
 29
 30    /// <summary>
 31    /// The short name of the committee
 32    /// </summary>
 33    [Required]
 34    [MaxLength(150)]
 1635    public string Name { get; set; }
 36
 37    /// <summary>
 38    /// The full (long) name of the committee
 39    /// </summary>
 40    [MaxLength(250)]
 1641    public string FullName { get; set; }
 42
 43    /// <summary>
 44    /// A short for the committee. This is limited to ten characters but it should be between 2 and 5 letters.
 45    /// For example GA gor general assembly.
 46    /// </summary>
 47    [MaxLength(10)]
 2948    public string CommitteeShort { get; set; }
 49
 50    /// <summary>
 51    /// The article of the committee. This may very depending on the language of the conference.
 52    /// For english conferences it will be "the", for german conferences it will be "der, die, das".
 53    /// </summary>
 54    [MaxLength(10)]
 755    public string Article { get; set; }
 56
 857    public CommitteeTypes CommitteeType { get; set; }
 58
 59    /// <summary>
 60    /// The ResolutlyCommittee is the parent or head committee of this committee.
 61    /// </summary>
 462    public Committee ResolutlyCommittee { get; set; }
 63
 2764    public ICollection<Committee> ChildCommittees { get; set; }
 65
 66    /// <summary>
 67    /// The conference of this committee.
 68    /// </summary>
 31969    public Conference Conference { get; set; }
 70
 71    /// <summary>
 72    /// Topics of this committee.
 73    /// </summary>
 3774    public ICollection<CommitteeTopic> Topics { get; set; }
 75
 76    /// <summary>
 77    /// List of sessions of the committee.
 78    /// </summary>
 279    public ICollection<Session.CommitteeSession> Sessions { get; set; }
 80
 181    public ICollection<Resolution.ResolutionAuth> Resolutions { get; set; }
 82
 83
 1484    public Committee()
 1485    {
 1486        Topics = new List<CommitteeTopic>();
 1487        ChildCommittees = new List<Committee>();
 1488    }
 89}