using FluentAssertions; using StellaOps.TestKit.Longevity; using Xunit; namespace StellaOps.TestKit.Tests; public sealed partial class LongevityTests { [Fact] public void StabilityMetrics_CaptureBaseline_SetsBaseline() { var metrics = new StabilityMetrics(); metrics.CaptureBaseline(); metrics.MemoryBaseline.Should().BeGreaterThan(0); metrics.Snapshots.Should().HaveCount(1); } [Fact] public void StabilityMetrics_CaptureSnapshot_AddsSnapshot() { var metrics = new StabilityMetrics(); metrics.CaptureBaseline(); metrics.CaptureSnapshot(); metrics.CaptureSnapshot(); metrics.Snapshots.Should().HaveCount(3); } [Fact] public void StabilityMetrics_RecordCounter_StoresValue() { var metrics = new StabilityMetrics(); metrics.CaptureBaseline(); metrics.RecordCounter("requests_total", 100); metrics.CounterValues.Should().ContainKey("requests_total"); metrics.CounterValues["requests_total"].Should().Be(100); } [Fact] public void StabilityMetrics_RecordConnectionPool_StoresValues() { var metrics = new StabilityMetrics(); metrics.CaptureBaseline(); metrics.RecordConnectionPool(active: 5, leaked: 1); metrics.ConnectionPoolActive.Should().Be(5); metrics.ConnectionPoolLeaked.Should().Be(1); } }