< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Configuration.ServiceConfigurationBuilder
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Configuration/ServiceConfigurationBuilder.cs
Line coverage
100%
Covered lines: 25
Uncovered lines: 0
Coverable lines: 25
Total lines: 63
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
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%11100%
Configure(...)100%11100%
AddServiceEndpoint(...)100%11100%
ConfigureServiceBuilder(...)100%44100%
.ctor(...)100%11100%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Configuration/ServiceConfigurationBuilder.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.Collections.Generic;
 6using CoreWCF.Channels;
 7
 8namespace CoreWCF.Configuration
 9{
 10    public class ServiceConfigurationBuilder
 11    {
 1012        private readonly List<Action<ServiceConfigurationBuilder>> _configDelegates = new List<Action<ServiceConfigurati
 1013        private List<ServiceEndpointConfiguration> _endpoints = new List<ServiceEndpointConfiguration>();
 14        private Type _serviceType;
 15
 1016        public ServiceConfigurationBuilder(Type serviceType)
 17        {
 1018            _serviceType = serviceType;
 1019        }
 20
 21        public void Configure(Action<ServiceConfigurationBuilder> configDelegate)
 22        {
 1323            _configDelegates.Add(configDelegate);
 1324        }
 25
 26        public void AddServiceEndpoint(Type implementedContract, Binding binding, Uri address, Uri listenUri)
 27        {
 228            _endpoints.Add(new ServiceEndpointConfiguration(implementedContract, binding, address, listenUri));
 229        }
 30
 31        internal void ConfigureServiceBuilder(IServiceBuilder serviceBuilder)
 32        {
 833            foreach (var configDelegate in _configDelegates)
 34            {
 235                configDelegate(this);
 36            }
 37
 238            serviceBuilder.AddService(_serviceType);
 839            foreach (var endpoint in _endpoints)
 40            {
 241                serviceBuilder.AddServiceEndpoint(_serviceType, endpoint.Contract, endpoint.Binding, endpoint.Address, e
 42            }
 43
 244            _endpoints.Clear();
 245        }
 46
 47        private struct ServiceEndpointConfiguration
 48        {
 49            public ServiceEndpointConfiguration(Type contract, Binding binding, Uri address, Uri listenUri)
 50            {
 251                Contract = contract;
 252                Binding = binding;
 253                Address = address;
 254                ListenUri = listenUri;
 255            }
 56
 457            public Uri Address { get; set; }
 458            public Binding Binding { get; set; }
 459            public Type Contract { get; set; }
 460            public Uri ListenUri { get; set; }
 61        }
 62    }
 63}