31 lines
828 B
C#
31 lines
828 B
C#
using System.Text;
|
|
using FluentAssertions;
|
|
using StellaOps.Replay.Core;
|
|
using Xunit;
|
|
|
|
namespace StellaOps.Replay.Core.Tests;
|
|
|
|
public sealed class DeterministicHashTests
|
|
{
|
|
[Fact]
|
|
public void Sha256Hex_ComputesLowercaseDigest()
|
|
{
|
|
var digest = DeterministicHash.Sha256Hex("replay-core");
|
|
|
|
digest.Should().Be("a914f5ac6a57aab0189bb55bcb0ef6bcdbd86f77198c8669eab5ae38a325e41d");
|
|
}
|
|
|
|
[Fact]
|
|
public void MerkleRootHex_IsDeterministic()
|
|
{
|
|
var leaves = new[] { "alpha", "beta", "gamma" }
|
|
.Select(Encoding.UTF8.GetBytes)
|
|
.ToList();
|
|
|
|
var root = DeterministicHash.MerkleRootHex(leaves);
|
|
|
|
root.Should().Be("50298939464ed02cbf2b587250a55746b3422e133ac4f09b7e2b07869023bc9e");
|
|
DeterministicHash.MerkleRootHex(leaves).Should().Be(root);
|
|
}
|
|
}
|