26 lines
786 B
C#
26 lines
786 B
C#
// <copyright file="HlcTimestampTests.Now.cs" company="StellaOps">
|
|
// Copyright (c) StellaOps. Licensed under BUSL-1.1.
|
|
// </copyright>
|
|
using FluentAssertions;
|
|
using Microsoft.Extensions.Time.Testing;
|
|
using System;
|
|
using Xunit;
|
|
|
|
namespace StellaOps.HybridLogicalClock.Tests;
|
|
|
|
public sealed partial class HlcTimestampTests
|
|
{
|
|
[Fact]
|
|
public void Now_UsesTimeProviderAndSetsNodeId()
|
|
{
|
|
var fixedTime = new DateTimeOffset(2024, 1, 1, 0, 0, 0, TimeSpan.Zero);
|
|
var timeProvider = new FakeTimeProvider(fixedTime);
|
|
|
|
var timestamp = HlcTimestamp.Now("node-1", timeProvider);
|
|
|
|
timestamp.PhysicalTime.Should().Be(fixedTime.ToUnixTimeMilliseconds());
|
|
timestamp.NodeId.Should().Be("node-1");
|
|
timestamp.LogicalCounter.Should().Be(0);
|
|
}
|
|
}
|