2026-10-17 19:12:43 +02:00
|
|
|
using AIStudio.Tools.Services;
|
|
|
|
|
|
|
|
|
|
namespace AIStudio.Tests.Tools;
|
|
|
|
|
|
|
|
|
|
public sealed class FileEnumerationResultTests
|
|
|
|
|
{
|
|
|
|
|
[Test]
|
|
|
|
|
public void PatternExclusionsAreSummarizedByFileTypeWithoutKeepingEveryPath()
|
|
|
|
|
{
|
|
|
|
|
var directoryPath = Path.Combine(Path.GetTempPath(), "test-data");
|
|
|
|
|
var result = new FileEnumerationResult();
|
|
|
|
|
|
|
|
|
|
result.AddFilePatternExclusion(Path.Combine(directoryPath, "one.PDF"));
|
|
|
|
|
result.AddFilePatternExclusion(Path.Combine(directoryPath, "two.pdf"));
|
|
|
|
|
result.AddFilePatternExclusion(Path.Combine(directoryPath, "README"));
|
|
|
|
|
result.AddFilePatternExclusion(Path.Combine(directoryPath, "Dockerfile"));
|
|
|
|
|
result.AddFilePatternExclusion(Path.Combine(directoryPath, "nested", "dockerfile"));
|
|
|
|
|
result.AddFilePatternExclusion(Path.Combine(directoryPath, "Caddyfile"));
|
|
|
|
|
|
2026-11-01 20:32:16 +01:00
|
|
|
using (Assert.EnterMultipleScope())
|
2026-10-17 19:12:43 +02:00
|
|
|
{
|
|
|
|
|
Assert.That(result.FilePatternExclusionCount, Is.EqualTo(6));
|
|
|
|
|
Assert.That(result.FilePatternExclusions, Is.EquivalentTo(new[]
|
|
|
|
|
{
|
|
|
|
|
new DataSourceEmbeddingFilePatternGroup(string.Empty, 1),
|
|
|
|
|
new DataSourceEmbeddingFilePatternGroup("Caddyfile", 1),
|
|
|
|
|
new DataSourceEmbeddingFilePatternGroup("Dockerfile", 2),
|
|
|
|
|
new DataSourceEmbeddingFilePatternGroup(".pdf", 2),
|
|
|
|
|
}));
|
2026-11-01 20:32:16 +01:00
|
|
|
}
|
2026-10-17 19:12:43 +02:00
|
|
|
}
|
|
|
|
|
}
|