private static IEnumerable <CommandOption> ExtractCommandOptions(Type commandType, CommandMetadata commandMetadata, IEnumerable <IConverter> converters) { foreach (var propertyInfo in commandType.GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(pi => pi.Name != nameof(ICommand.Arguments))) { var commandOption = CommandOption.Create(propertyInfo, commandMetadata, converters); if (commandOption != null) { yield return(commandOption); } } }
public void TestListProperty() { // Arrange var propertyInfo = GetType() .GetProperty(TypeHelpers.ExtractPropertyName(() => ListIntProperty)); var commandMetadata = new CommandMetadata(typeof(GetMultiValueIndicator)); var commandOption = CommandOption.Create(propertyInfo, commandMetadata, new[] { new Int32Converter() }); var expected = HelpCommand.CollectionIndicator; // Act var actual = HelpCommand.GetMultiValueIndicator(commandOption); // Assert Assert.Equal(expected, actual); }