/
softailor
/
gridient
Обзор
Документация
Войти
/
softailor
/
gridient
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/Gridient.Core.Tests/Features/ClientFeatureRegistryTests.cs
44 строки
1 KB
Jenkins
Auto add
18 фев 2026, 10:19
18 фев 2026, 10:19
1e6c4f8
Код
Авторство
О чём код?
using FluentAssertions; using Gridient.Core.Features; using Moq; using Xunit; namespace Gridient.Core.Tests.Features { public class ClientFeatureRegistryTests { #region GetFeatures /// <summary> /// Проверяет, что GetFeatures объединяет фичи от провайдеров, при конфликте побеждает последний, /// а ключи считаются регистронезависимыми. /// </summary> [Fact] public void GetFeatures_ShouldMergeProviders_LastWins_AndBeCaseInsensitive() { var p1 = new Mock<IClientFeatureProvider>(); p1.Setup(x => x.GetFeatures()).Returns(new Dictionary<string, bool> { ["a"] = true, ["b"] = false }); var p2 = new Mock<IClientFeatureProvider>(); p2.Setup(x => x.GetFeatures()).Returns(new Dictionary<string, bool> { ["A"] = false, // overrides a ["c"] = true }); var registry = new ClientFeatureRegistry(new[] { p1.Object, p2.Object }); var features = registry.GetFeatures(); features["a"].Should().BeFalse(); features["A"].Should().BeFalse(); features["b"].Should().BeFalse(); features["c"].Should().BeTrue(); } #endregion } }