Reformat / cleanup
All checks were successful
NuGet Publish / build-and-pack (push) Successful in 46s
NuGet Publish / publish-to-gitea (push) Successful in 56s

This commit is contained in:
Joseph Doherty
2026-02-21 08:10:36 -05:00
parent 4c6aaa5a3f
commit a70d8befae
176 changed files with 50555 additions and 49587 deletions

View File

@@ -1,4 +1,5 @@
using System.IO.Compression;
using System.Text;
using ZB.MOM.WW.CBDD.Bson;
using ZB.MOM.WW.CBDD.Core.Compression;
using ZB.MOM.WW.CBDD.Core.Storage;
@@ -9,12 +10,12 @@ namespace ZB.MOM.WW.CBDD.Tests;
public class CompressionInsertReadTests
{
/// <summary>
/// Tests insert with threshold should store mixed compressed and uncompressed slots.
/// Tests insert with threshold should store mixed compressed and uncompressed slots.
/// </summary>
[Fact]
public void Insert_WithThreshold_ShouldStoreMixedCompressedAndUncompressedSlots()
{
var dbPath = NewDbPath();
string dbPath = NewDbPath();
var options = new CompressionOptions
{
EnableCompression = true,
@@ -50,12 +51,12 @@ public class CompressionInsertReadTests
}
/// <summary>
/// Tests find by id should read mixed compressed and uncompressed documents.
/// Tests find by id should read mixed compressed and uncompressed documents.
/// </summary>
[Fact]
public void FindById_ShouldReadMixedCompressedAndUncompressedDocuments()
{
var dbPath = NewDbPath();
string dbPath = NewDbPath();
var options = new CompressionOptions
{
EnableCompression = true,
@@ -98,12 +99,12 @@ public class CompressionInsertReadTests
}
/// <summary>
/// Tests insert when codec throws should fallback to uncompressed storage.
/// Tests insert when codec throws should fallback to uncompressed storage.
/// </summary>
[Fact]
public void Insert_WhenCodecThrows_ShouldFallbackToUncompressedStorage()
{
var dbPath = NewDbPath();
string dbPath = NewDbPath();
var options = new CompressionOptions
{
EnableCompression = true,
@@ -152,7 +153,7 @@ public class CompressionInsertReadTests
for (ushort slotIndex = 0; slotIndex < header.SlotCount; slotIndex++)
{
var slotOffset = SlottedPageHeader.Size + (slotIndex * SlotEntry.Size);
int slotOffset = SlottedPageHeader.Size + slotIndex * SlotEntry.Size;
var slot = SlotEntry.ReadFrom(buffer.AsSpan(slotOffset, SlotEntry.Size));
if ((slot.Flags & SlotFlags.Deleted) != 0)
continue;
@@ -168,7 +169,7 @@ public class CompressionInsertReadTests
private static string BuildPayload(int approxLength)
{
var builder = new System.Text.StringBuilder(approxLength + 256);
var builder = new StringBuilder(approxLength + 256);
var i = 0;
while (builder.Length < approxLength)
{
@@ -182,11 +183,13 @@ public class CompressionInsertReadTests
}
private static string NewDbPath()
=> Path.Combine(Path.GetTempPath(), $"compression_insert_read_{Guid.NewGuid():N}.db");
{
return Path.Combine(Path.GetTempPath(), $"compression_insert_read_{Guid.NewGuid():N}.db");
}
private static void CleanupFiles(string dbPath)
{
var walPath = Path.ChangeExtension(dbPath, ".wal");
string walPath = Path.ChangeExtension(dbPath, ".wal");
var markerPath = $"{dbPath}.compact.state";
if (File.Exists(dbPath)) File.Delete(dbPath);
if (File.Exists(walPath)) File.Delete(walPath);
@@ -196,25 +199,29 @@ public class CompressionInsertReadTests
private sealed class FailingBrotliCodec : ICompressionCodec
{
/// <summary>
/// Gets or sets the codec.
/// Gets or sets the codec.
/// </summary>
public CompressionCodec Codec => CompressionCodec.Brotli;
/// <summary>
/// Tests compress.
/// Tests compress.
/// </summary>
/// <param name="input">Payload bytes to compress.</param>
/// <param name="level">Compression level.</param>
public byte[] Compress(ReadOnlySpan<byte> input, CompressionLevel level)
=> throw new InvalidOperationException("Forced codec failure for test coverage.");
{
throw new InvalidOperationException("Forced codec failure for test coverage.");
}
/// <summary>
/// Tests decompress.
/// Tests decompress.
/// </summary>
/// <param name="input">Compressed payload bytes.</param>
/// <param name="expectedLength">Expected decompressed payload length.</param>
/// <param name="maxDecompressedSizeBytes">Maximum allowed decompressed size.</param>
public byte[] Decompress(ReadOnlySpan<byte> input, int expectedLength, int maxDecompressedSizeBytes)
=> throw new InvalidOperationException("This codec should not be used for reads in this scenario.");
{
throw new InvalidOperationException("This codec should not be used for reads in this scenario.");
}
}
}
}