Пример #1
0
        public void ViewHelpForCommand(string commandName)
        {
            ICommand         command   = _commandManager.GetCommand(commandName);
            CommandAttribute attribute = command.CommandAttribute;

            Console.WriteLine("usage: {0} {1} {2}", _commandExe, attribute.CommandName, attribute.GetUsageSummary());
            Console.WriteLine();

            if (!String.IsNullOrEmpty(attribute.AltName))
            {
                Console.WriteLine("alias: {0}", attribute.AltName);
                Console.WriteLine();
            }

            Console.WriteLine(attribute.GetDescription());
            Console.WriteLine();

            if (attribute.GetUsageDescription() != null)
            {
                int padding = 5;
                Console.PrintJustified(padding, attribute.GetUsageDescription());
                Console.WriteLine();
            }

            var options = _commandManager.GetCommandOptions(command);

            if (options.Count > 0)
            {
                Console.WriteLine("options:");
                Console.WriteLine();

                // Get the max option width. +2 for showing + against multivalued properties
                int maxOptionWidth = options.Max(o => o.Value.Name.Length) + 2;
                // Get the max altname option width
                int maxAltOptionWidth = options.Max(o => (o.Key.AltName ?? String.Empty).Length);

                foreach (var o in options)
                {
                    Console.Write(" {0, -" + (maxOptionWidth + 2) + "}", o.Value.Name +
                                  (CommandLineUtility.IsMultiValuedProperty(o.Value) ? " +" : String.Empty));
                    Console.Write(" {0, -" + (maxAltOptionWidth + 4) + "}", GetAltText(o.Key.AltName));

                    Console.PrintJustified((10 + maxAltOptionWidth + maxOptionWidth), o.Key.GetDescription());
                }
                Console.WriteLine();
            }
        }
Пример #2
0
 public void GetUsageDescription_ReturnsUsageDescriptionIfTypeNotSet()
 {
     // Arrange
     CommandAttribute cmd = new CommandAttribute(
         "MockCommand", "Description") { UsageDescription = "Not a Resource", UsageDescriptionResourceName = "ResourceName" };
     // Act
     var actual = cmd.GetUsageDescription();
     // Assert
     Assert.AreEqual("Not a Resource", actual);
 }
Пример #3
0
 public void GetUsageDescription_ReturnsResourceIfTypeSet()
 {
     // Arrange
     CommandAttribute cmd = new CommandAttribute(typeof(MockResourceType),
         "MockCommand", "Description") { UsageDescription = "Not a Resource", UsageDescriptionResourceName = "ResourceName" };
     // Act
     var actual = cmd.GetUsageDescription();
     // Assert
     Assert.AreEqual("This is a Resource String.", actual);
 }
Пример #4
0
        public void GetUsageDescription_ReturnsUsageDescriptionIfTypeNotSet()
        {
            // Arrange
            CommandAttribute cmd = new CommandAttribute(
                "MockCommand", "Description")
            {
                UsageDescription = "Not a Resource", UsageDescriptionResourceName = "ResourceName"
            };
            // Act
            var actual = cmd.GetUsageDescription();

            // Assert
            Assert.AreEqual("Not a Resource", actual);
        }
Пример #5
0
        public void GetUsageDescription_ReturnsResourceIfTypeSet()
        {
            // Arrange
            CommandAttribute cmd = new CommandAttribute(typeof(MockResourceType),
                                                        "MockCommand", "Description")
            {
                UsageDescription = "Not a Resource", UsageDescriptionResourceName = "ResourceName"
            };
            // Act
            var actual = cmd.GetUsageDescription();

            // Assert
            Assert.AreEqual("This is a Resource String.", actual);
        }