using Omika.Core.Observability; namespace Omika.Tests.Observability; public class TelemetryMetadataTests { [Fact] public void Create_RetainsValidEntries() { TelemetryMetadata metadata = TelemetryMetadata.Create(("count", 42), ("ok", true)); Assert.Equal(2, metadata.Count); } [Fact] public void Create_DropsNullKey() { TelemetryMetadata metadata = TelemetryMetadata.Create((null!, 42)); Assert.Equal(0, metadata.Count); } [Fact] public void Create_DropsWhitespaceKey() { TelemetryMetadata metadata = TelemetryMetadata.Create((" ", 42)); Assert.Equal(0, metadata.Count); } [Fact] public void Create_DropsInvalidValue() { TelemetryMetadata metadata = TelemetryMetadata.Create(("bad", TelemetryValue.Invalid)); Assert.Equal(0, metadata.Count); } [Fact] public void Create_DeduplicatesByKey_FirstWins() { TelemetryMetadata metadata = TelemetryMetadata.Create(("k", 1), ("k", 2)); Assert.Equal(1, metadata.Count); Assert.Equal(1, (int)metadata.Entries[0].Value.Value!); } [Fact] public void Create_Empty_ReturnsEmpty() { Assert.Same(TelemetryMetadata.Empty, TelemetryMetadata.Create()); } [Fact] public void Create_Null_ReturnsEmpty() { Assert.Same(TelemetryMetadata.Empty, TelemetryMetadata.Create((IEnumerable>)null!)); } }