Files
jdescopingtool/NEW/tests/JdeScoping.ExcelIO.Tests/InclusionReasonTests.cs
T
Joseph Doherty 621dd41a97 refactor(ExcelIO): delete old attribute-based infrastructure
- Remove OutputColumnAttribute, OutputTableAttribute, OutputColumnCache
- Remove AttributeTableWriter and ColumnFormatter
- Remove duplicate ExcelFormats from Mapping (use Formatting version)
- Remove OutputColumn model
- Add FilterEntryMaps for criteria sheet filter models
- Update CriteriaSheetGenerator to use FluentTableWriter
- Remove attributes from filter entry models (now use fluent maps)
- Update DI to register filter entry maps and remove old services
- Update tests to use new fluent infrastructure
- Delete obsolete test files for removed infrastructure

Task 16 of fluent-excel-mapping-implementation plan.
2026-01-06 23:56:02 -05:00

101 lines
2.6 KiB
C#

using JdeScoping.Core.Models.SearchResults;
using Shouldly;
using Xunit;
namespace JdeScoping.ExcelIO.Tests;
public class InclusionReasonTests
{
[Fact]
public void InclusionReason_ManuallySpecified_ReturnsManuallySpecified()
{
var result = new SearchResult { ManuallySpecified = true };
result.InclusionReason.ShouldBe("ManuallySpecified");
}
[Fact]
public void InclusionReason_Flagged_ReturnsFlagged()
{
var result = new SearchResult { Flagged = true };
result.InclusionReason.ShouldBe("Flagged");
}
[Fact]
public void InclusionReason_CardexAndPartsList_ReturnsComponentUsageBoth()
{
var result = new SearchResult { Cardex = true, PartsList = true };
result.InclusionReason.ShouldBe("ComponentUsage (CARDEX + Parts List)");
}
[Fact]
public void InclusionReason_CardexOnly_ReturnsComponentUsageCardex()
{
var result = new SearchResult { Cardex = true, PartsList = false };
result.InclusionReason.ShouldBe("ComponentUsage (CARDEX)");
}
[Fact]
public void InclusionReason_PartsListOnly_ReturnsComponentUsagePartsList()
{
var result = new SearchResult { Cardex = false, PartsList = true };
result.InclusionReason.ShouldBe("ComponentUsage (Parts List)");
}
[Fact]
public void InclusionReason_SplitOrder_ReturnsSplitOrder()
{
var result = new SearchResult { SplitOrder = true };
result.InclusionReason.ShouldBe("Split order");
}
[Fact]
public void InclusionReason_NoFlags_ReturnsUnknown()
{
var result = new SearchResult();
result.InclusionReason.ShouldBe("UNKNOWN");
}
[Fact]
public void InclusionReason_ManuallySpecified_TakesPrecedenceOverFlagged()
{
var result = new SearchResult
{
ManuallySpecified = true,
Flagged = true
};
result.InclusionReason.ShouldBe("ManuallySpecified");
}
[Fact]
public void InclusionReason_Flagged_TakesPrecedenceOverCardex()
{
var result = new SearchResult
{
Flagged = true,
Cardex = true
};
result.InclusionReason.ShouldBe("Flagged");
}
[Fact]
public void InclusionReason_Cardex_TakesPrecedenceOverSplitOrder()
{
var result = new SearchResult
{
Cardex = true,
SplitOrder = true
};
result.InclusionReason.ShouldBe("ComponentUsage (CARDEX)");
}
}