// // Copyright (c) StellaOps. Licensed under BUSL-1.1. // using FluentAssertions; using Xunit; namespace StellaOps.HybridLogicalClock.Tests; public sealed partial class HlcTimestampTests { [Fact] public void Increment_IncreasesLogicalCounter() { var original = CreateTimestamp(1000, "node1", 4); var incremented = original.Increment(); incremented.PhysicalTime.Should().Be(original.PhysicalTime); incremented.NodeId.Should().Be(original.NodeId); incremented.LogicalCounter.Should().Be(5); } [Fact] public void WithPhysicalTime_ResetsCounter() { var original = CreateTimestamp(1000, "node1", 4); var updated = original.WithPhysicalTime(2000); updated.PhysicalTime.Should().Be(2000); updated.NodeId.Should().Be("node1"); updated.LogicalCounter.Should().Be(0); } }