Files
Explorer-Workbench/tests/Explorer.Application.Tests/HostActivityLogTests.cs

32 lines
781 B
C#

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());
}
}