using Explorer.Application; using Explorer.Contracts; namespace Explorer.Application.Tests; public class HostActivityLogTests { [Fact] public void Ring_keeps_recent_events_in_order() { var log = new HostActivityLog(8); for (var i = 0; i < 10; i++) { log.Record("Indexing", "file-" + i); } var recent = log.TakeRecent(5); Assert.Equal(5, recent.Count); Assert.Equal("file-5", recent[0].Message); Assert.Equal("file-9", recent[^1].Message); } [Fact] public void Duplicate_messages_are_coalesced() { var log = new HostActivityLog(); log.Record("Maintenance", "same"); log.Record("Maintenance", "same"); Assert.Single(log.TakeRecent()); } }