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 GetEventCodes() => typeof(TelemetryEventCodes) .GetFields(BindingFlags.Public | BindingFlags.Static) .Where(f => f.FieldType == typeof(EventCode)) .Select(f => (EventCode)f.GetValue(null)!); }