< Summary

Information
Class: TeleFlow.Framework.Middleware.UpdateMiddlewareRegistration
Assembly: TeleFlow.Framework.Core
File(s): /_/src/TeleFlow.Framework.Core/Middleware/UpdateMiddlewareRegistration.cs
Line coverage
62%
Covered lines: 5
Uncovered lines: 3
Coverable lines: 8
Total lines: 29
Line coverage: 62.5%
Branch coverage
0%
Covered branches: 0
Total branches: 1
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)0%1150%
Resolve(...)100%11100%

File(s)

/_/src/TeleFlow.Framework.Core/Middleware/UpdateMiddlewareRegistration.cs

#LineLine coverage
 1using Microsoft.Extensions.DependencyInjection;
 2
 3namespace TeleFlow.Framework.Middleware;
 4
 5internal sealed class UpdateMiddlewareRegistration
 6{
 7    public UpdateMiddlewareRegistration(Type middlewareType)
 8    {
 649        ArgumentNullException.ThrowIfNull(middlewareType);
 10
 6411        if (!typeof(IUpdateMiddleware).IsAssignableFrom(middlewareType))
 12        {
 013            throw new ArgumentException(
 014                $"Middleware type must implement {nameof(IUpdateMiddleware)}.",
 015                nameof(middlewareType));
 16        }
 17
 18        MiddlewareType = middlewareType;
 6419    }
 20
 21    public Type MiddlewareType { get; }
 22
 23    public IUpdateMiddleware Resolve(IServiceProvider services)
 24    {
 6025        ArgumentNullException.ThrowIfNull(services);
 26
 6027        return (IUpdateMiddleware)services.GetRequiredService(MiddlewareType);
 28    }
 29}