Files
SabreTools/SabreTools.Test/Filtering/PopulationTests.cs

170 lines
4.9 KiB
C#
Raw Normal View History

2020-12-18 23:06:28 -08:00
using System.Collections.Generic;
using SabreTools.Filtering;
using Xunit;
namespace SabreTools.Test.Filtering
{
2020-12-19 13:57:45 -08:00
public class PopulationTests
2020-12-18 23:06:28 -08:00
{
[Fact]
public void PopulateExclusionNullListTest()
{
// Setup the list
2024-03-05 13:32:49 -05:00
List<string>? exclusions = null;
2020-12-18 23:06:28 -08:00
// Setup the remover
var remover = new Remover();
remover.PopulateExclusionsFromList(exclusions);
2020-12-18 23:06:28 -08:00
// Check the exclusion lists
2024-03-05 16:37:52 -05:00
Assert.Empty(remover.HeaderFieldNames);
Assert.Empty(remover.MachineFieldNames);
Assert.Empty(remover.ItemFieldNames);
2020-12-18 23:06:28 -08:00
}
[Fact]
public void PopulateExclusionEmptyListTest()
{
// Setup the list
2024-03-05 16:37:52 -05:00
List<string> exclusions = [];
2020-12-18 23:06:28 -08:00
// Setup the remover
var remover = new Remover();
remover.PopulateExclusionsFromList(exclusions);
2020-12-18 23:06:28 -08:00
// Check the exclusion lists
2024-03-05 16:37:52 -05:00
Assert.Empty(remover.HeaderFieldNames);
Assert.Empty(remover.MachineFieldNames);
Assert.Empty(remover.ItemFieldNames);
2020-12-18 23:06:28 -08:00
}
[Fact]
public void PopulateExclusionHeaderFieldTest()
{
// Setup the list
2024-03-05 13:32:49 -05:00
List<string> exclusions =
[
2020-12-18 23:06:28 -08:00
"header.datname",
2024-03-05 13:32:49 -05:00
];
2020-12-18 23:06:28 -08:00
// Setup the remover
var remover = new Remover();
remover.PopulateExclusionsFromList(exclusions);
2020-12-18 23:06:28 -08:00
// Check the exclusion lists
2024-03-05 16:37:52 -05:00
Assert.Empty(remover.HeaderFieldNames);
Assert.Empty(remover.MachineFieldNames);
Assert.Empty(remover.ItemFieldNames);
2020-12-18 23:06:28 -08:00
}
[Fact]
public void PopulateExclusionMachineFieldTest()
{
// Setup the list
2024-03-05 13:32:49 -05:00
List<string> exclusions =
[
2020-12-18 23:06:28 -08:00
"machine.name",
2024-03-05 13:32:49 -05:00
];
2020-12-18 23:06:28 -08:00
// Setup the remover
var remover = new Remover();
remover.PopulateExclusionsFromList(exclusions);
2020-12-18 23:06:28 -08:00
// Check the exclusion lists
2024-03-05 16:37:52 -05:00
Assert.Empty(remover.HeaderFieldNames);
Assert.Single(remover.MachineFieldNames);
Assert.Empty(remover.ItemFieldNames);
2020-12-18 23:06:28 -08:00
}
[Fact]
public void PopulateExclusionDatItemFieldTest()
{
// Setup the list
2024-03-05 13:32:49 -05:00
List<string> exclusions =
[
2020-12-18 23:06:28 -08:00
"item.name",
2024-03-05 13:32:49 -05:00
];
2020-12-18 23:06:28 -08:00
// Setup the remover
var remover = new Remover();
remover.PopulateExclusionsFromList(exclusions);
2020-12-18 23:06:28 -08:00
// Check the exclusion lists
2024-03-05 16:37:52 -05:00
Assert.Empty(remover.HeaderFieldNames);
Assert.Empty(remover.MachineFieldNames);
Assert.Single(remover.ItemFieldNames);
2020-12-18 23:06:28 -08:00
}
[Fact]
public void PopulateFilterNullListTest()
{
// Setup the list
2024-03-05 13:32:49 -05:00
List<string>? filters = null;
2020-12-18 23:06:28 -08:00
// Setup the filter
2023-09-04 23:51:37 -04:00
var filter = new SabreTools.Filtering.Filter();
filter.PopulateFiltersFromList(filters);
2020-12-18 23:06:28 -08:00
// Check the filters
Assert.NotNull(filter.MachineFilter);
Assert.NotNull(filter.DatItemFilter);
2020-12-18 23:06:28 -08:00
}
[Fact]
public void PopulateFilterEmptyListTest()
{
// Setup the list
2024-03-05 13:32:49 -05:00
List<string> filters = [];
2020-12-18 23:06:28 -08:00
// Setup the filter
2023-09-04 23:51:37 -04:00
var filter = new SabreTools.Filtering.Filter();
filter.PopulateFiltersFromList(filters);
2020-12-18 23:06:28 -08:00
// Check the filters
Assert.NotNull(filter.MachineFilter);
Assert.NotNull(filter.DatItemFilter);
2020-12-18 23:06:28 -08:00
}
[Fact]
public void PopulateFilterMachineFieldTest()
{
// Setup the list
2024-03-05 13:32:49 -05:00
List<string> filters =
[
2020-12-18 23:06:28 -08:00
"machine.name:foo",
"!machine.name:bar",
2024-03-05 13:32:49 -05:00
];
2020-12-18 23:06:28 -08:00
// Setup the filter
2023-09-04 23:51:37 -04:00
var filter = new SabreTools.Filtering.Filter();
filter.PopulateFiltersFromList(filters);
2020-12-18 23:06:28 -08:00
// Check the filters
2024-03-05 13:32:49 -05:00
Assert.NotNull(filter.MachineFilter);
Assert.NotNull(filter.DatItemFilter);
Assert.Contains("foo", filter.MachineFilter.Name.PositiveSet);
Assert.Contains("bar", filter.MachineFilter.Name.NegativeSet);
2020-12-18 23:06:28 -08:00
}
[Fact]
public void PopulateFilterDatItemFieldTest()
{
// Setup the list
2024-03-05 13:32:49 -05:00
List<string> filters =
[
2020-12-18 23:06:28 -08:00
"item.name:foo",
"!item.name:bar"
2024-03-05 13:32:49 -05:00
];
2020-12-18 23:06:28 -08:00
// Setup the filter
2023-09-04 23:51:37 -04:00
var filter = new SabreTools.Filtering.Filter();
filter.PopulateFiltersFromList(filters);
2020-12-18 23:06:28 -08:00
// Check the filters
Assert.NotNull(filter.MachineFilter);
2024-03-05 13:32:49 -05:00
Assert.NotNull(filter.DatItemFilter);
Assert.Contains("foo", filter.DatItemFilter.Name.PositiveSet);
Assert.Contains("bar", filter.DatItemFilter.Name.NegativeSet);
2020-12-18 23:06:28 -08:00
}
}
}