< Summary

Information
Class: MyNet.Globalization.Localization.Providers.Registration.LocalizationFactoryRegistry
Assembly: MyNet.Globalization
File(s): https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Globalization/Localization/Providers/Registration/LocalizationFactoryRegistry.cs
Tag: 323_28699572109
Line coverage
57%
Covered lines: 4
Uncovered lines: 3
Coverable lines: 7
Total lines: 40
Line coverage: 57.1%
Branch coverage
50%
Covered branches: 2
Total branches: 4
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_Factories()100%210%
TryGetFactory(...)50%5460%

File(s)

https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Globalization/Localization/Providers/Registration/LocalizationFactoryRegistry.cs

#LineLine coverage
 1// -----------------------------------------------------------------------
 2// <copyright file="LocalizationFactoryRegistry.cs" company="Stéphane ANDRE">
 3// Copyright (c) Stéphane ANDRE. All rights reserved.
 4// </copyright>
 5// -----------------------------------------------------------------------
 6
 7using System;
 8using System.Collections.Frozen;
 9using System.Collections.Generic;
 10using System.Diagnostics.CodeAnalysis;
 11using MyNet.Globalization.Localization.Providers.Factories;
 12
 13namespace MyNet.Globalization.Localization.Providers.Registration;
 14
 15/// <summary>
 16/// Current implementation of <see cref="ILocalizationFactoryRegistry"/> that stores factories in a frozen dictionary fo
 17/// </summary>
 18/// <param name="factories">The factories to be registered.</param>
 19public sealed class LocalizationFactoryRegistry(IReadOnlyDictionary<Type, ILocalizationServiceFactory> factories) : ILoc
 20{
 35421    private readonly FrozenDictionary<Type, ILocalizationServiceFactory> _factories = factories.ToFrozenDictionary();
 22
 23    /// <inheritdoc />
 024    public IReadOnlyDictionary<Type, ILocalizationServiceFactory> Factories => _factories;
 25
 26    /// <inheritdoc />
 27    public bool TryGetFactory<TService>([NotNullWhen(true)] out ILocalizationServiceFactory<TService>? factory)
 28        where TService : class, ICultureScoped
 29    {
 12630        if (_factories.TryGetValue(typeof(TService), out var obj) && obj is ILocalizationServiceFactory<TService> typedF
 31        {
 12632            factory = typedFactory;
 12633            return true;
 34        }
 35
 036        factory = null;
 037        return false;
 38    }
 39}
 40