Files
2025-10-05 15:22:24 -04:00

95 lines
3.0 KiB
C#

using SabreTools.CommandLine.Inputs;
using Xunit;
namespace SabreTools.CommandLine.Test
{
public class CommandSetTests
{
[Fact]
public void AddAndRetrieveTest()
{
var input1 = new FlagInput("input1", "--input1", "input1");
var input2 = new FlagInput("input2", "--input2", "input2");
var featureSet = new CommandSet();
featureSet.Add(input1);
featureSet.Add(input2);
var actualInput1 = featureSet["input1"];
Assert.NotNull(actualInput1);
Assert.Equal("input1", actualInput1.Name);
var actualInput2 = featureSet[input2];
Assert.NotNull(actualInput2);
Assert.Equal("input2", actualInput2.Name);
var actualInput3 = featureSet["input3"];
Assert.Null(actualInput3);
}
[Fact]
public void GetInputNameTest()
{
var input1 = new FlagInput("input1", "--input1", "input1");
var input2 = new FlagInput("input2", "--input2", "input2");
var featureSet = new CommandSet();
featureSet.Add(input1);
featureSet.Add(input2);
var actualName1 = featureSet.GetInputName("input1");
Assert.NotEmpty(actualName1);
Assert.Equal("input1", actualName1);
var actualName2 = featureSet.GetInputName("--input2");
Assert.NotEmpty(actualName2);
Assert.Equal("input2", actualName2);
var actualName3 = featureSet.GetInputName("input3");
Assert.Empty(actualName3);
}
[Fact]
public void GetTopLevelTest()
{
var input1 = new FlagInput("input1", "--input1", "input1");
var input2 = new FlagInput("input2", "--input2", "input2");
var featureSet = new CommandSet();
featureSet.Add(input1);
featureSet.Add(input2);
var actualInput1 = featureSet.GetTopLevel("input1");
Assert.NotNull(actualInput1);
Assert.Equal("input1", actualInput1.Name);
var actualInput2 = featureSet.GetTopLevel("--input2");
Assert.NotNull(actualInput2);
Assert.Equal("input2", actualInput2.Name);
var actualInput3 = featureSet.GetTopLevel("input3");
Assert.Null(actualInput3);
}
[Fact]
public void IsTopLevelTest()
{
var input1 = new FlagInput("input1", "--input1", "input1");
var input2 = new FlagInput("input2", "--input2", "input2");
var featureSet = new CommandSet();
featureSet.Add(input1);
featureSet.Add(input2);
bool actualTop1 = featureSet.IsTopLevel("input1");
Assert.True(actualTop1);
bool actualTop2 = featureSet.IsTopLevel("--input2");
Assert.True(actualTop2);
bool actualTop3 = featureSet.IsTopLevel("input3");
Assert.False(actualTop3);
}
}
}