35 lines
964 B
C#
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);
|
|
}
|
|
}
|