31 lines
847 B
C#
31 lines
847 B
C#
using System.Reflection;
|
|
using Omika.Core.Observability;
|
|
|
|
namespace Omika.Tests.Observability;
|
|
|
|
public class TelemetryEventCodesTests
|
|
{
|
|
[Fact]
|
|
public void AllCodes_AreValid()
|
|
{
|
|
foreach (EventCode code in GetEventCodes())
|
|
{
|
|
Assert.True(code.IsValid, $"Le code {code} doit être valide.");
|
|
}
|
|
}
|
|
|
|
[Fact]
|
|
public void AllCodes_AreUnique()
|
|
{
|
|
string[] values = GetEventCodes().Select(c => c.Value!).ToArray();
|
|
|
|
Assert.Equal(values.Length, values.Distinct(StringComparer.Ordinal).Count());
|
|
}
|
|
|
|
private static IEnumerable<EventCode> GetEventCodes() =>
|
|
typeof(TelemetryEventCodes)
|
|
.GetFields(BindingFlags.Public | BindingFlags.Static)
|
|
.Where(f => f.FieldType == typeof(EventCode))
|
|
.Select(f => (EventCode)f.GetValue(null)!);
|
|
}
|