using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using PolyTrader.Core.Persistence; using PolyTraderSharp.Models; namespace PolyTrader.Tests.Fakes { /// In-Memory-Stub für den generischen Core-Trade-Log (Dual-Write-Ziel der Module). public sealed class FakeCoreTradeLogRepository : ITradeLogRepository { public List Inserted { get; } = new(); public void EnsureIndexes() { } public void Insert(TradeRecord record) => Inserted.Add(record); public List GetRecent(int limit) => Inserted.TakeLast(limit).ToList(); public List Find(Expression> predicate) => Inserted.Where(predicate.Compile()).ToList(); } }