< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Configuration.MessageVersionConverter
Assembly: CoreWCF.ConfigurationManager
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.ConfigurationManager/src/CoreWCF/Configuration/MessageVersionConverter.cs
Line coverage
12%
Covered lines: 6
Uncovered lines: 42
Coverable lines: 48
Total lines: 118
Line coverage: 12.5%
Branch coverage
15%
Covered branches: 10
Total branches: 65
Branch coverage: 15.3%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
CanConvertFrom(...)0%220%
CanConvertTo(...)0%220%
ConvertFrom(...)24.39%414128.57%
ConvertTo(...)0%20200%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.ConfigurationManager/src/CoreWCF/Configuration/MessageVersionConverter.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.ComponentModel;
 6using System.ComponentModel.Design.Serialization;
 7using CoreWCF.Channels;
 8
 9namespace CoreWCF.Configuration
 10{
 11    internal sealed class MessageVersionConverter : TypeConverter
 12    {
 13        public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
 14        {
 015            if (typeof(string) == sourceType)
 16            {
 017                return true;
 18            }
 019            return base.CanConvertFrom(context, sourceType);
 20        }
 21
 22        public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
 23        {
 024            if (typeof(InstanceDescriptor) == destinationType)
 25            {
 026                return true;
 27            }
 028            return base.CanConvertTo(context, destinationType);
 29        }
 30
 31        public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, obj
 32        {
 633            if (value is string messageVersion)
 34            {
 35                MessageVersion retval;
 36                switch (messageVersion)
 37                {
 38                    case ConfigurationStrings.Soap11WSAddressing10:
 039                        retval = MessageVersion.Soap11WSAddressing10;
 040                        break;
 41                    case ConfigurationStrings.Soap12WSAddressing10:
 242                        retval = MessageVersion.Soap12WSAddressing10;
 243                        break;
 44                    case ConfigurationStrings.Soap11WSAddressingAugust2004:
 045                        retval = MessageVersion.Soap11WSAddressingAugust2004;
 046                        break;
 47                    case ConfigurationStrings.Soap12WSAddressingAugust2004:
 048                        retval = MessageVersion.Soap12WSAddressingAugust2004;
 049                        break;
 50                    case ConfigurationStrings.Soap11:
 451                        retval = MessageVersion.Soap11;
 452                        break;
 53                    case ConfigurationStrings.Soap12:
 054                        retval = MessageVersion.Soap12;
 055                        break;
 56                    case ConfigurationStrings.None:
 057                        retval = MessageVersion.None;
 058                        break;
 59                    case ConfigurationStrings.Default:
 060                        retval = MessageVersion.Default;
 061                        break;
 62                    default:
 063                        throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value
 064                            SR.Format(SR.ConfigInvalidClassFactoryValue, messageVersion, typeof(MessageVersion).FullName
 65                }
 666                return retval;
 67            }
 068            return base.ConvertFrom(context, culture, value);
 69        }
 70
 71        public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, objec
 72        {
 073            if (typeof(string) == destinationType && value is MessageVersion messageVersion)
 74            {
 75                string retval;
 076                if (messageVersion.Equals(MessageVersion.Default))
 77                {
 078                    retval = ConfigurationStrings.Default;
 79                }
 080                else if (messageVersion.Equals(MessageVersion.Soap11WSAddressing10))
 81                {
 082                    retval = ConfigurationStrings.Soap11WSAddressing10;
 83                }
 084                else if (messageVersion.Equals(MessageVersion.Soap12WSAddressing10))
 85                {
 086                    retval = ConfigurationStrings.Soap12WSAddressing10;
 87                }
 088                else if (messageVersion .Equals(MessageVersion.Soap11WSAddressingAugust2004))
 89                {
 090                    retval = ConfigurationStrings.Soap11WSAddressingAugust2004;
 91                }
 092                else if (messageVersion.Equals(MessageVersion.Soap12WSAddressingAugust2004))
 93                {
 094                    retval = ConfigurationStrings.Soap12WSAddressingAugust2004;
 95                }
 096                else if (messageVersion.Equals(MessageVersion.Soap11))
 97                {
 098                    retval = ConfigurationStrings.Soap11;
 99                }
 0100                else if (messageVersion.Equals(MessageVersion.Soap12))
 101                {
 0102                    retval = ConfigurationStrings.Soap12;
 103                }
 0104                else if (messageVersion.Equals(MessageVersion.None))
 105                {
 0106                    retval = ConfigurationStrings.None;
 107                }
 108                else
 109                {
 0110                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value",
 0111                        SR.Format(SR.ConfigInvalidClassInstanceValue, typeof(MessageVersion).FullName)));
 112                }
 0113                return retval;
 114            }
 0115            return base.ConvertTo(context, culture, value, destinationType);
 116        }
 117    }
 118}