Files
git.stella-ops.org/src/__Libraries/StellaOps.HybridLogicalClock.Tests/HybridLogicalClockTests.State.cs

39 lines
987 B
C#

// <copyright file="HybridLogicalClockTests.State.cs" company="StellaOps">
// Copyright (c) StellaOps. Licensed under BUSL-1.1.
// </copyright>
using FluentAssertions;
using Xunit;
namespace StellaOps.HybridLogicalClock.Tests;
public sealed partial class HybridLogicalClockTests
{
[Fact]
public void Current_ReturnsLatestState()
{
var timeProvider = CreateTimeProvider();
var clock = CreateClock(timeProvider);
var tick1 = clock.Tick();
var current1 = clock.Current;
var tick2 = clock.Tick();
var current2 = clock.Current;
current1.Should().Be(tick1);
current2.Should().Be(tick2);
}
[Fact]
public void Tick_PersistsStateToStore()
{
var timeProvider = CreateTimeProvider();
var stateStore = new InMemoryHlcStateStore();
var clock = CreateClock(timeProvider, store: stateStore);
clock.Tick();
stateStore.GetAllStates().Count.Should().Be(1);
}
}