32 lines
781 B
C#
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());
|
|
}
|
|
}
|