2024-03-05 09:17:00 -05:00
|
|
|
using System;
|
2024-03-12 22:52:36 -04:00
|
|
|
using SabreTools.Core.Filter;
|
2024-03-05 09:17:00 -05:00
|
|
|
using Xunit;
|
|
|
|
|
|
|
|
|
|
namespace SabreTools.Test.Filter
|
|
|
|
|
{
|
|
|
|
|
public class PopulationTests
|
|
|
|
|
{
|
|
|
|
|
[Fact]
|
|
|
|
|
public void PopulateFilterRunnerNullListTest()
|
|
|
|
|
{
|
|
|
|
|
// Setup the list
|
|
|
|
|
string[]? filters = null;
|
|
|
|
|
|
|
|
|
|
// Setup the filter
|
|
|
|
|
Assert.Throws<ArgumentNullException>(() => new FilterRunner(filters));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void PopulateFilterRunnerEmptyListTest()
|
|
|
|
|
{
|
|
|
|
|
// Setup the list
|
|
|
|
|
string[]? filters = [];
|
|
|
|
|
|
|
|
|
|
// Setup the filter runner
|
|
|
|
|
var filterRunner = new FilterRunner(filters);
|
|
|
|
|
|
|
|
|
|
// Check the filters
|
|
|
|
|
Assert.NotNull(filterRunner.Filters);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void PopulateFilterMachineFieldTest()
|
|
|
|
|
{
|
|
|
|
|
// Setup the list
|
|
|
|
|
string[] filters =
|
|
|
|
|
[
|
|
|
|
|
"machine.name:foo",
|
|
|
|
|
"machine.name!:bar",
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// Setup the filter
|
|
|
|
|
var filter = new FilterRunner(filters);
|
|
|
|
|
|
|
|
|
|
// Check the filters
|
2024-10-24 02:32:21 -04:00
|
|
|
Assert.Equal("machine", filter.Filters[0].ItemName);
|
|
|
|
|
Assert.Equal("name", filter.Filters[0].FieldName);
|
2024-03-05 09:17:00 -05:00
|
|
|
Assert.Equal("foo", filter.Filters[0].Value);
|
|
|
|
|
Assert.Equal(Operation.Equals, filter.Filters[0].Operation);
|
|
|
|
|
|
2024-10-24 02:32:21 -04:00
|
|
|
Assert.Equal("machine", filter.Filters[1].ItemName);
|
|
|
|
|
Assert.Equal("name", filter.Filters[1].FieldName);
|
2024-03-05 09:17:00 -05:00
|
|
|
Assert.Equal("bar", filter.Filters[1].Value);
|
|
|
|
|
Assert.Equal(Operation.NotEquals, filter.Filters[1].Operation);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void PopulateFilterDatItemFieldTest()
|
|
|
|
|
{
|
|
|
|
|
// Setup the list
|
|
|
|
|
string[] filters =
|
|
|
|
|
[
|
|
|
|
|
"rom.name:foo",
|
2024-03-05 09:39:12 -05:00
|
|
|
"datitem.name!:bar"
|
2024-03-05 09:17:00 -05:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// Setup the filter
|
|
|
|
|
var filter = new FilterRunner(filters);
|
|
|
|
|
|
|
|
|
|
// Check the filters
|
2024-10-24 02:32:21 -04:00
|
|
|
Assert.Equal("rom", filter.Filters[0].ItemName);
|
|
|
|
|
Assert.Equal("name", filter.Filters[0].FieldName);
|
2024-03-05 09:17:00 -05:00
|
|
|
Assert.Equal("foo", filter.Filters[0].Value);
|
|
|
|
|
Assert.Equal(Operation.Equals, filter.Filters[0].Operation);
|
|
|
|
|
|
2024-10-24 02:32:21 -04:00
|
|
|
Assert.Equal("item", filter.Filters[1].ItemName);
|
|
|
|
|
Assert.Equal("name", filter.Filters[1].FieldName);
|
2024-03-05 09:17:00 -05:00
|
|
|
Assert.Equal("bar", filter.Filters[1].Value);
|
|
|
|
|
Assert.Equal(Operation.NotEquals, filter.Filters[1].Operation);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|