< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.IdentityModel.Claims.DefaultClaimSet
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/IdentityModel/Claims/DefaultClaimSet.cs
Line coverage
77%
Covered lines: 27
Uncovered lines: 8
Coverable lines: 35
Total lines: 103
Line coverage: 77.1%
Branch coverage
86%
Covered branches: 19
Total branches: 22
Branch coverage: 86.3%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor(...)100%11100%
.ctor(...)100%11100%
.ctor(...)100%110%
.ctor(...)100%11100%
ContainsClaim(...)83.33%6683.33%
FindClaims()100%1212100%
GetEnumerator()100%110%
Initialize(...)50%44100%
ToString()100%110%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/IdentityModel/Claims/DefaultClaimSet.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System.Collections.Generic;
 5using System.Runtime.Serialization;
 6using CoreWCF.Security;
 7
 8namespace CoreWCF.IdentityModel.Claims
 9{
 10    [DataContract(Namespace = XsiConstants.Namespace)]
 11    public class DefaultClaimSet : ClaimSet
 12    {
 13        [DataMember(Name = "Issuer")]
 14        private ClaimSet _issuer;
 15        [DataMember(Name = "Claims")]
 16        private IList<Claim> _claims;
 17
 1218        public DefaultClaimSet(params Claim[] claims)
 19        {
 1220            Initialize(this, claims);
 1221        }
 22
 323        public DefaultClaimSet(IList<Claim> claims)
 24        {
 325            Initialize(this, claims);
 326        }
 27
 028        public DefaultClaimSet(ClaimSet issuer, params Claim[] claims)
 29        {
 030            Initialize(issuer, claims);
 031        }
 32
 1433        public DefaultClaimSet(ClaimSet issuer, IList<Claim> claims)
 34        {
 1435            Initialize(issuer, claims);
 1436        }
 37
 38        public override Claim this[int index]
 39        {
 040            get { return _claims[index]; }
 41        }
 42
 43        public override int Count
 44        {
 045            get { return _claims.Count; }
 46        }
 47
 48        public override ClaimSet Issuer
 49        {
 450            get { return _issuer; }
 51        }
 52
 53        public override bool ContainsClaim(Claim claim)
 54        {
 1355            if (claim == null)
 56            {
 057                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(claim));
 58            }
 59
 4060            for (int i = 0; i < _claims.Count; ++i)
 61            {
 1262                if (claim.Equals(_claims[i]))
 63                {
 564                    return true;
 65                }
 66            }
 867            return false;
 68        }
 69
 70        public override IEnumerable<Claim> FindClaims(string claimType, string right)
 71        {
 1272            bool anyClaimType = (claimType == null);
 1273            bool anyRight = (right == null);
 74
 3275            for (int i = 0; i < _claims.Count; ++i)
 76            {
 1477                Claim claim = _claims[i];
 1478                if ((claim != null) &&
 1479                    (anyClaimType || claimType == claim.ClaimType) &&
 1480                    (anyRight || right == claim.Right))
 81                {
 1482                    yield return claim;
 83                }
 84            }
 285        }
 86
 87        public override IEnumerator<Claim> GetEnumerator()
 88        {
 089            return _claims.GetEnumerator();
 90        }
 91
 92        protected void Initialize(ClaimSet issuer, IList<Claim> claims)
 93        {
 4194            _issuer = issuer ?? throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(issuer));
 4195            _claims = claims ?? throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(claims));
 4196        }
 97
 98        public override string ToString()
 99        {
 0100            return SecurityUtils.ClaimSetToString(this);
 101        }
 102    }
 103}