< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Security.SecurityHeaderElementInferenceEngine
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Security/SecurityHeaderElementInferenceEngine.cs
Line coverage
50%
Covered lines: 3
Uncovered lines: 3
Coverable lines: 6
Total lines: 35
Line coverage: 50%
Branch coverage
40%
Covered branches: 2
Total branches: 5
Branch coverage: 40%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
GetInferenceEngine(...)40%5550%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Security/SecurityHeaderElementInferenceEngine.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;
 5using System.Threading.Tasks;
 6using System.Xml;
 7using CoreWCF.Channels;
 8
 9namespace CoreWCF.Security
 10{
 11    internal abstract class SecurityHeaderElementInferenceEngine
 12    {
 13        public abstract ValueTask ExecuteProcessingPassesAsync(ReceiveSecurityHeader securityHeader, XmlDictionaryReader
 14
 15        public abstract void MarkElements(ReceiveSecurityHeaderElementManager elementManager, bool messageSecurityMode);
 16
 17        public static SecurityHeaderElementInferenceEngine GetInferenceEngine(SecurityHeaderLayout layout)
 18        {
 9419            SecurityHeaderLayoutHelper.Validate(layout);
 20            switch (layout)
 21            {
 22                case SecurityHeaderLayout.Strict:
 8823                    return StrictModeSecurityHeaderElementInferenceEngine.Instance;
 24                case SecurityHeaderLayout.Lax:
 625                    return LaxModeSecurityHeaderElementInferenceEngine.Instance;
 26                case SecurityHeaderLayout.LaxTimestampFirst:
 027                    return LaxTimestampFirstModeSecurityHeaderElementInferenceEngine.Instance;
 28                case SecurityHeaderLayout.LaxTimestampLast:
 029                    return LaxTimestampLastModeSecurityHeaderElementInferenceEngine.Instance;
 30                default:
 031                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException(nameof(lay
 32            }
 33        }
 34    }
 35}