< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Channels.AddressingVersion
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Channels/AddressingVersion.cs
Line coverage
98%
Covered lines: 60
Uncovered lines: 1
Coverable lines: 61
Total lines: 124
Line coverage: 98.3%
Branch coverage
100%
Covered branches: 8
Total branches: 8
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor(...)100%44100%
.cctor()100%11100%
ToString()100%11100%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Channels/AddressingVersion.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.Xml;
 6using CoreWCF.Security;
 7
 8namespace CoreWCF.Channels
 9{
 10    public sealed class AddressingVersion
 11    {
 12        private readonly string _toStringFormat;
 13
 3914        private AddressingVersion(string ns, XmlDictionaryString dictionaryNs, string toStringFormat,
 3915            MessagePartSpecification signedMessageParts, string anonymous, XmlDictionaryString dictionaryAnonymous, stri
 16        {
 3917            Namespace = ns;
 3918            DictionaryNamespace = dictionaryNs;
 3919            _toStringFormat = toStringFormat;
 3920            SignedMessageParts = signedMessageParts;
 3921            Anonymous = anonymous;
 3922            DictionaryAnonymous = dictionaryAnonymous;
 23
 3924            if (anonymous != null)
 25            {
 2626                AnonymousUri = new Uri(anonymous);
 27            }
 28
 3929            if (none != null)
 30            {
 1331                NoneUri = new Uri(none);
 32            }
 33
 3934            FaultAction = faultAction;
 3935            DefaultFaultAction = defaultFaultAction;
 3936        }
 37
 2231838        public static AddressingVersion WSAddressing10 { get; } = new AddressingVersion(Addressing10Strings.Namespace,
 1339            XD.Addressing10Dictionary.Namespace, SR.Addressing10ToStringFormat, Addressing10SignedMessageParts,
 1340            Addressing10Strings.Anonymous, XD.Addressing10Dictionary.Anonymous, Addressing10Strings.NoneAddress,
 1341            Addressing10Strings.FaultAction, Addressing10Strings.DefaultFaultAction);
 42
 43        private static MessagePartSpecification s_addressing10SignedMessageParts;
 44
 12585645        public static AddressingVersion None { get; } = new AddressingVersion(AddressingNoneStrings.Namespace, XD.Addres
 1346            SR.AddressingNoneToStringFormat, new MessagePartSpecification(), null, null, null, null, null);
 47
 194248        public static AddressingVersion WSAddressingAugust2004 { get; } = new AddressingVersion(Addressing200408Strings.
 1349            XD.Addressing200408Dictionary.Namespace, SR.Addressing200408ToStringFormat, Addressing200408SignedMessagePar
 1350            Addressing200408Strings.Anonymous, XD.Addressing200408Dictionary.Anonymous, null,
 1351            Addressing200408Strings.FaultAction, Addressing200408Strings.DefaultFaultAction);
 52
 53        private static MessagePartSpecification s_addressing200408SignedMessageParts;
 54
 4734355        public string Namespace { get; }
 56
 2380857        internal XmlDictionaryString DictionaryNamespace { get; }
 58
 112459        internal string Anonymous { get; }
 60
 9361        internal XmlDictionaryString DictionaryAnonymous { get; }
 62
 267763        public Uri AnonymousUri { get; }
 64
 065        public Uri NoneUri { get; }
 66
 267        public string FaultAction { get; } // the action for addressing faults
 68
 265669        internal string DefaultFaultAction { get; } // a default string that can be used for non-addressing faults
 70
 1871        internal MessagePartSpecification SignedMessageParts { get; }
 72
 73        public override string ToString()
 74        {
 4375            return SR.Format(_toStringFormat, Namespace);
 76        }
 77
 78        private static MessagePartSpecification Addressing10SignedMessageParts
 79        {
 80            get
 81            {
 1382                if (s_addressing10SignedMessageParts == null)
 83                {
 1384                    MessagePartSpecification s = new MessagePartSpecification(
 1385                        new XmlQualifiedName(AddressingStrings.To, Addressing10Strings.Namespace),
 1386                        new XmlQualifiedName(AddressingStrings.From, Addressing10Strings.Namespace),
 1387                        new XmlQualifiedName(AddressingStrings.FaultTo, Addressing10Strings.Namespace),
 1388                        new XmlQualifiedName(AddressingStrings.ReplyTo, Addressing10Strings.Namespace),
 1389                        new XmlQualifiedName(AddressingStrings.MessageId, Addressing10Strings.Namespace),
 1390                        new XmlQualifiedName(AddressingStrings.RelatesTo, Addressing10Strings.Namespace),
 1391                        new XmlQualifiedName(AddressingStrings.Action, Addressing10Strings.Namespace)
 1392                        );
 1393                    s.MakeReadOnly();
 1394                    s_addressing10SignedMessageParts = s;
 95                }
 96
 1397                return s_addressing10SignedMessageParts;
 98            }
 99        }
 100
 101        private static MessagePartSpecification Addressing200408SignedMessageParts
 102        {
 103            get
 104            {
 13105                if (s_addressing200408SignedMessageParts == null)
 106                {
 13107                    MessagePartSpecification s = new MessagePartSpecification(
 13108                        new XmlQualifiedName(AddressingStrings.To, Addressing200408Strings.Namespace),
 13109                        new XmlQualifiedName(AddressingStrings.From, Addressing200408Strings.Namespace),
 13110                        new XmlQualifiedName(AddressingStrings.FaultTo, Addressing200408Strings.Namespace),
 13111                        new XmlQualifiedName(AddressingStrings.ReplyTo, Addressing200408Strings.Namespace),
 13112                        new XmlQualifiedName(AddressingStrings.MessageId, Addressing200408Strings.Namespace),
 13113                        new XmlQualifiedName(AddressingStrings.RelatesTo, Addressing200408Strings.Namespace),
 13114                        new XmlQualifiedName(AddressingStrings.Action, Addressing200408Strings.Namespace)
 13115                        );
 13116                    s.MakeReadOnly();
 13117                    s_addressing200408SignedMessageParts = s;
 118                }
 119
 13120                return s_addressing200408SignedMessageParts;
 121            }
 122        }
 123    }
 124}