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

View File

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

View File

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

View File

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

View File

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

View File

@@ -136,15 +136,15 @@ namespace CliFx.Services
} }
/// <inheritdoc /> /// <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)); targetType.GuardNotNull(nameof(targetType));
// Single value // 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); return ConvertValue(value, targetType);
} }
// Multiple values // Multiple values
@@ -154,7 +154,7 @@ namespace CliFx.Services
var underlyingType = targetType.GetEnumerableUnderlyingType() ?? typeof(object); var underlyingType = targetType.GetEnumerableUnderlyingType() ?? typeof(object);
// Convert values to that type // 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(); var convertedValuesType = convertedValues.GetType();
// Assignable from array of values (e.g. T[], IReadOnlyList<T>, IEnumerable<T>) // 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}); return arrayConstructor.Invoke(new object[] {convertedValues});
throw new InvalidCommandOptionInputException( 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> /// <summary>
/// Populates an instance of <see cref="ICommand"/> with specified input according to specified schema. /// Populates an instance of <see cref="ICommand"/> with specified input according to specified schema.
/// </summary> /// </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> /// <summary>
/// Parses specified command line arguments. /// Parses specified command line arguments.
/// </summary> /// </summary>
CommandInput ParseInput(IReadOnlyList<string> commandLineArguments); CommandInput ParseCommandInput(IReadOnlyList<string> commandLineArguments);
} }
} }

View File

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