Files
git.stella-ops.org/src/__Libraries/StellaOps.HybridLogicalClock.Tests/HlcTimestampTests.Mutation.cs

35 lines
964 B
C#

// <copyright file="HlcTimestampTests.Mutation.cs" company="StellaOps">
// Copyright (c) StellaOps. Licensed under BUSL-1.1.
// </copyright>
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);
}
}