Rename things to make them slightly more consistent

This commit is contained in:
Alexey Golub
2019-08-18 18:59:52 +03:00
parent 105dc88ccd
commit de8513c6fa
9 changed files with 26 additions and 27 deletions

View File

@@ -9,7 +9,7 @@ namespace CliFx.Tests
[TestFixture]
public class CommandInputParserTests
{
private static IEnumerable<TestCaseData> GetTestCases_ParseInput()
private static IEnumerable<TestCaseData> GetTestCases_ParseCommandInput()
{
yield return new TestCaseData(new string[0], CommandInput.Empty);
@@ -160,14 +160,14 @@ namespace CliFx.Tests
}
[Test]
[TestCaseSource(nameof(GetTestCases_ParseInput))]
public void ParseInput_Test(IReadOnlyList<string> commandLineArguments, CommandInput expectedCommandInput)
[TestCaseSource(nameof(GetTestCases_ParseCommandInput))]
public void ParseCommandInput_Test(IReadOnlyList<string> commandLineArguments, CommandInput expectedCommandInput)
{
// Arrange
var parser = new CommandInputParser();
// Act
var commandInput = parser.ParseInput(commandLineArguments);
var commandInput = parser.ParseCommandInput(commandLineArguments);
// Assert
commandInput.Should().BeEquivalentTo(expectedCommandInput);

View File

@@ -57,7 +57,7 @@ namespace CliFx.Tests
[TestFixture]
public partial class CommandOptionInputConverterTests
{
private static IEnumerable<TestCaseData> GetTestCases_ConvertOption()
private static IEnumerable<TestCaseData> GetTestCases_ConvertOptionInput()
{
yield return new TestCaseData(
new CommandOptionInput("option", "value"),
@@ -307,14 +307,14 @@ namespace CliFx.Tests
}
[Test]
[TestCaseSource(nameof(GetTestCases_ConvertOption))]
public void ConvertOption_Test(CommandOptionInput optionInput, Type targetType, object expectedConvertedValue)
[TestCaseSource(nameof(GetTestCases_ConvertOptionInput))]
public void ConvertOptionInput_Test(CommandOptionInput optionInput, Type targetType, object expectedConvertedValue)
{
// Arrange
var converter = new CommandOptionInputConverter();
// Act
var convertedValue = converter.ConvertOption(optionInput, targetType);
var convertedValue = converter.ConvertOptionInput(optionInput, targetType);
// Assert
convertedValue.Should().BeEquivalentTo(expectedConvertedValue);

View File

@@ -129,7 +129,7 @@ namespace CliFx
try
{
var commandInput = _commandInputParser.ParseInput(commandLineArguments);
var commandInput = _commandInputParser.ParseCommandInput(commandLineArguments);
var availableCommandSchemas = _commandSchemaResolver.GetCommandSchemas(_configuration.CommandTypes);
var matchingCommandSchema = availableCommandSchemas.FindByName(commandInput.CommandName);

View File

@@ -29,25 +29,25 @@ namespace CliFx.Services
}
/// <inheritdoc />
public void InitializeCommand(ICommand command, CommandSchema schema, CommandInput input)
public void InitializeCommand(ICommand command, CommandSchema commandSchema, CommandInput commandInput)
{
command.GuardNotNull(nameof(command));
schema.GuardNotNull(nameof(schema));
input.GuardNotNull(nameof(input));
commandSchema.GuardNotNull(nameof(commandSchema));
commandInput.GuardNotNull(nameof(commandInput));
// Keep track of unset required options to report an error at a later stage
var unsetRequiredOptions = schema.Options.Where(o => o.IsRequired).ToList();
var unsetRequiredOptions = commandSchema.Options.Where(o => o.IsRequired).ToList();
// Set command options
foreach (var optionInput in input.Options)
foreach (var optionInput in commandInput.Options)
{
// Find matching option schema for this option input
var optionSchema = schema.Options.FindByAlias(optionInput.Alias);
var optionSchema = commandSchema.Options.FindByAlias(optionInput.Alias);
if (optionSchema == null)
continue;
// Convert option to the type of the underlying property
var convertedValue = _commandOptionInputConverter.ConvertOption(optionInput, optionSchema.Property.PropertyType);
var convertedValue = _commandOptionInputConverter.ConvertOptionInput(optionInput, optionSchema.Property.PropertyType);
// Set value of the underlying property
optionSchema.Property.SetValue(command, convertedValue);

View File

@@ -11,9 +11,8 @@ namespace CliFx.Services
/// </summary>
public class CommandInputParser : ICommandInputParser
{
// TODO: refactor
/// <inheritdoc />
public CommandInput ParseInput(IReadOnlyList<string> commandLineArguments)
public CommandInput ParseCommandInput(IReadOnlyList<string> commandLineArguments)
{
commandLineArguments.GuardNotNull(nameof(commandLineArguments));

View File

@@ -136,15 +136,15 @@ namespace CliFx.Services
}
/// <inheritdoc />
public object ConvertOption(CommandOptionInput option, Type targetType)
public object ConvertOptionInput(CommandOptionInput optionInput, Type targetType)
{
option.GuardNotNull(nameof(option));
optionInput.GuardNotNull(nameof(optionInput));
targetType.GuardNotNull(nameof(targetType));
// Single value
if (option.Values.Count <= 1)
if (optionInput.Values.Count <= 1)
{
var value = option.Values.SingleOrDefault();
var value = optionInput.Values.SingleOrDefault();
return ConvertValue(value, targetType);
}
// Multiple values
@@ -154,7 +154,7 @@ namespace CliFx.Services
var underlyingType = targetType.GetEnumerableUnderlyingType() ?? typeof(object);
// Convert values to that type
var convertedValues = option.Values.Select(v => ConvertValue(v, underlyingType)).ToNonGenericArray(underlyingType);
var convertedValues = optionInput.Values.Select(v => ConvertValue(v, underlyingType)).ToNonGenericArray(underlyingType);
var convertedValuesType = convertedValues.GetType();
// Assignable from array of values (e.g. T[], IReadOnlyList<T>, IEnumerable<T>)
@@ -167,7 +167,7 @@ namespace CliFx.Services
return arrayConstructor.Invoke(new object[] {convertedValues});
throw new InvalidCommandOptionInputException(
$"Can't convert sequence of values [{option.Values.JoinToString(", ")}] to type [{targetType}].");
$"Can't convert sequence of values [{optionInput.Values.JoinToString(", ")}] to type [{targetType}].");
}
}
}

View File

@@ -10,6 +10,6 @@ namespace CliFx.Services
/// <summary>
/// Populates an instance of <see cref="ICommand"/> with specified input according to specified schema.
/// </summary>
void InitializeCommand(ICommand command, CommandSchema schema, CommandInput input);
void InitializeCommand(ICommand command, CommandSchema commandSchema, CommandInput commandInput);
}
}

View File

@@ -11,6 +11,6 @@ namespace CliFx.Services
/// <summary>
/// Parses specified command line arguments.
/// </summary>
CommandInput ParseInput(IReadOnlyList<string> commandLineArguments);
CommandInput ParseCommandInput(IReadOnlyList<string> commandLineArguments);
}
}

View File

@@ -11,6 +11,6 @@ namespace CliFx.Services
/// <summary>
/// Converts an option to specified target type.
/// </summary>
object ConvertOption(CommandOptionInput option, Type targetType);
object ConvertOptionInput(CommandOptionInput optionInput, Type targetType);
}
}