| File: Utils\ResourceColorMapTests.cs | Web Access |
| Project: src\tests\Aspire.Cli.Tests\Aspire.Cli.Tests.csproj (Aspire.Cli.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Aspire.Cli.Utils; namespace Aspire.Cli.Tests.Utils; public class ResourceColorMapTests { [Fact] public void HexColorsKeysMatchVariableNames() { Assert.Equal(ColorGenerator.s_variableNames.Length, ResourceColorMap.s_hexColors.Count); foreach (var variableName in ColorGenerator.s_variableNames) { Assert.True(ResourceColorMap.s_hexColors.ContainsKey(variableName), $"Missing key: {variableName}"); } } [Fact] public void GetColorReturnsDeterministicResult() { var map = new ResourceColorMap(); var color1 = map.GetColor("test-resource"); var color2 = map.GetColor("test-resource"); Assert.Equal(color1, color2); } [Fact] public void ResolveAllMakesColorAssignmentDeterministic() { var map1 = new ResourceColorMap(); map1.ResolveAll(["bravo", "alpha", "charlie"]); var map2 = new ResourceColorMap(); map2.ResolveAll(["charlie", "alpha", "bravo"]); Assert.Equal(map1.GetColor("alpha"), map2.GetColor("alpha")); Assert.Equal(map1.GetColor("bravo"), map2.GetColor("bravo")); Assert.Equal(map1.GetColor("charlie"), map2.GetColor("charlie")); } [Fact] public void DifferentNamesGetDifferentColors() { var map = new ResourceColorMap(); var color1 = map.GetColor("resource-a"); var color2 = map.GetColor("resource-b"); Assert.NotEqual(color1, color2); } }