mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
This was the last of the major bits of code that was technically distinct from Cleaning. This means that each of the bits of functionality that used to all be in Cleaner are split out into their approrpriate classes.
87 lines
2.3 KiB
C#
87 lines
2.3 KiB
C#
using System.Collections.Generic;
|
|
|
|
using SabreTools.DatItems;
|
|
using SabreTools.Filtering;
|
|
using Xunit;
|
|
|
|
namespace SabreTools.Test.Filtering
|
|
{
|
|
public class FilteringTests
|
|
{
|
|
[Fact]
|
|
public void PassesFiltersDatItemFilterPass()
|
|
{
|
|
// Setup filter
|
|
var filter = new Filter();
|
|
filter.PopulateFiltersFromList(new List<string> { "item.name:foo" });
|
|
|
|
// Setup DatItem
|
|
var datItem = CreateDatItem();
|
|
|
|
// Run filters
|
|
bool actual = filter.PassesFilters(datItem);
|
|
Assert.True(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void PassesFiltersDatItemFilterFail()
|
|
{
|
|
// Setup filter
|
|
var filter = new Filter();
|
|
filter.PopulateFiltersFromList(new List<string> { "item.name:bar" });
|
|
|
|
// Setup DatItem
|
|
var datItem = CreateDatItem();
|
|
|
|
// Run filters
|
|
bool actual = filter.PassesFilters(datItem);
|
|
Assert.False(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void PassesFiltersMachineFilterPass()
|
|
{
|
|
// Setup filter
|
|
var filter = new Filter();
|
|
filter.PopulateFiltersFromList(new List<string> { "machine.name:bar" });
|
|
|
|
// Setup DatItem
|
|
var datItem = CreateDatItem();
|
|
|
|
// Run filters
|
|
bool actual = filter.PassesFilters(datItem);
|
|
Assert.True(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void PassesFiltersMachineFilterFail()
|
|
{
|
|
// Setup filter
|
|
var filter = new Filter();
|
|
filter.PopulateFiltersFromList(new List<string> { "machine.name:foo" });
|
|
|
|
// Setup DatItem
|
|
var datItem = CreateDatItem();
|
|
|
|
// Run filters
|
|
bool actual = filter.PassesFilters(datItem);
|
|
Assert.False(actual);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Generate a consistent DatItem for testing
|
|
/// </summary>
|
|
private DatItem CreateDatItem()
|
|
{
|
|
return new Rom
|
|
{
|
|
Name = "foo",
|
|
Machine = new Machine
|
|
{
|
|
Name = "bar",
|
|
Description = "bar",
|
|
}
|
|
};
|
|
}
|
|
}
|
|
} |