mirror of
https://github.com/SabreTools/SabreTools.CommandLine.git
synced 2026-02-10 05:40:12 +00:00
95 lines
3.0 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|