621dd41a97
- 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.
101 lines
2.6 KiB
C#
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)");
|
|
}
|
|
}
|