< Summary

Information
Class: MyNet.Humanizer.Display.Strategies.EnumDisplayTextStrategy
Assembly: MyNet.Humanizer
File(s): https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Humanizer/Display/Strategies/EnumDisplayTextStrategy.cs
Tag: 323_28699572109
Line coverage
75%
Covered lines: 3
Uncovered lines: 1
Coverable lines: 4
Total lines: 34
Line coverage: 75%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
ProvideSymbol(...)100%210%
ProvideDisplayText(...)100%22100%

File(s)

https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Humanizer/Display/Strategies/EnumDisplayTextStrategy.cs

#LineLine coverage
 1// -----------------------------------------------------------------------
 2// <copyright file="EnumDisplayTextStrategy.cs" company="Stéphane ANDRE">
 3// Copyright (c) Stéphane ANDRE. All rights reserved.
 4// </copyright>
 5// -----------------------------------------------------------------------
 6
 7using System;
 8using System.ComponentModel.DataAnnotations;
 9using System.Globalization;
 10using MyNet.Globalization.Localization.Translation;
 11using MyNet.Globalization.Localization.Translation.KeyGeneration;
 12using MyNet.Reflection;
 13
 14namespace MyNet.Humanizer.Display.Strategies;
 15
 16/// <summary>
 17/// Provides display names for enum values, using DisplayAttribute, DescriptionAttribute, or translation resources as ne
 18/// </summary>
 19/// <param name="translationService">The translation service to use for translating resource keys.</param>
 20/// <param name="keyProvider">The key provider to use for generating translation keys.</param>
 1721public sealed class EnumDisplayTextStrategy(ITranslationService translationService, ITranslationKeyProvider keyProvider)
 22{
 23    /// <inheritdoc/>
 024    protected override string? ProvideSymbol(Enum value, CultureInfo culture) => value.GetSymbol();
 25
 26    /// <inheritdoc/>
 27    protected override string? ProvideDisplayText(Enum value, CultureInfo culture)
 28    {
 9629        var displayAttribute = value.GetAttribute<DisplayAttribute>();
 30
 9631        return displayAttribute is not null ? ResolveDisplayAttribute(displayAttribute, culture) : null;
 32    }
 33}
 34