/// <summary> /// Append given switch to given output. /// </summary> /// <param name="switchObject"> /// Switch object representing switch to append to given output. /// </param> /// <param name="output"> /// StringBuilder object representing output to append to. /// </param> static void AppendSwitch(Switch switchObject, StringBuilder output) { if (switchObject.IsOptional) output.Append(OptionalSwitchTag.Start); output.Append(Switch.GetPrefixedName(switchObject.Name)); if (switchObject.HasArguments) { output.Append(Character.Space); AppendArgumentNames(switchObject.GetArgumentNames(), output); } if (switchObject.IsOptional) output.Append(OptionalSwitchTag.End); }
public void AddArgumentValue() { const string ArgumentValue1 = "value1"; const string ArgumentValue2 = "value2"; string[] argumentNames = new string[] { "arg1", "arg2" }; string[] argumentValues1 = new string[] { ArgumentValue1 }; string[] argumentValues2 = new string[] { ArgumentValue1, ArgumentValue2 }; Switch switchObject = new Switch(Name, LongName, Description, IsRequired, argumentNames); // Add first argument value. switchObject.AddArgumentValue(ArgumentValue1); Assert.AreEqual(argumentNames, switchObject.GetArgumentNames()); Assert.AreEqual(argumentValues1, switchObject.GetArgumentValues()); Assert.AreEqual(argumentNames.Length, switchObject.NumberArguments); Assert.IsFalse(switchObject.HasEnoughValues); Assert.IsTrue(switchObject.HasArguments); Assert.IsTrue(switchObject.HasEnoughNames); // Add second argument value. switchObject.AddArgumentValue(ArgumentValue2); Assert.AreEqual(argumentNames, switchObject.GetArgumentNames()); Assert.AreEqual(argumentValues2, switchObject.GetArgumentValues()); Assert.AreEqual(argumentNames.Length, switchObject.NumberArguments); Assert.IsTrue(switchObject.HasArguments); Assert.IsTrue(switchObject.HasEnoughNames); Assert.IsTrue(switchObject.HasEnoughValues); }
public void WithSameNames() { Switch switchObject = new Switch(Name, Name, Description); Assert.AreEqual(Description, switchObject.Description); Assert.AreEqual(NoArgumentNames, switchObject.GetArgumentNames()); Assert.AreEqual(NoArgumentValues, switchObject.GetArgumentValues()); Assert.AreEqual(Name, switchObject.Name); Assert.AreEqual(NoArguments, switchObject.NumberArguments); Assert.AreNotEqual(Name, switchObject.LongName); Assert.IsFalse(switchObject.HasArguments); Assert.IsFalse(switchObject.HasEnoughNames); Assert.IsFalse(switchObject.HasEnoughValues); Assert.IsFalse(switchObject.HasLongName); Assert.IsFalse(switchObject.IsRequired); Assert.IsNotNull(switchObject.Description); Assert.IsNotNull(switchObject.Name); Assert.IsNull(switchObject.LongName); Assert.IsTrue(switchObject.HasDescription); Assert.IsTrue(switchObject.IsOptional); }
public void WithNumberArgumentsNonPrintable() { const int NumberArguments = 5; Switch switchObject = new Switch(Name, NumberArguments); Assert.AreEqual(NoArgumentNames, switchObject.GetArgumentNames()); Assert.AreEqual(NoArgumentValues, switchObject.GetArgumentValues()); Assert.AreEqual(Name, switchObject.Name); Assert.AreEqual(NumberArguments, switchObject.NumberArguments); Assert.IsFalse(switchObject.HasDescription); Assert.IsFalse(switchObject.HasEnoughNames); Assert.IsFalse(switchObject.HasEnoughValues); Assert.IsFalse(switchObject.HasLongName); Assert.IsFalse(switchObject.IsRequired); Assert.IsNotNull(switchObject.Name); Assert.IsNull(switchObject.Description); Assert.IsNull(switchObject.LongName); Assert.IsTrue(switchObject.HasArguments); Assert.IsTrue(switchObject.IsOptional); }
public void WithArgumentsName() { const string ArgumentName = "args"; Switch switchObject = new Switch(Name, LongName, Description, HasArguments, IsRequired, ArgumentName); Assert.AreEqual(Description, switchObject.Description); Assert.AreEqual(new string[] { ArgumentName }, switchObject.GetArgumentNames()); Assert.AreEqual(NoArgumentValues, switchObject.GetArgumentValues()); Assert.AreEqual(LongName, switchObject.LongName); Assert.AreEqual(Name, switchObject.Name); Assert.AreEqual(UnknownNumberArguments, switchObject.NumberArguments); Assert.IsFalse(switchObject.HasEnoughValues); Assert.IsFalse(switchObject.IsOptional); Assert.IsNotNull(switchObject.Description); Assert.IsNotNull(switchObject.LongName); Assert.IsNotNull(switchObject.Name); Assert.IsTrue(switchObject.HasArguments); Assert.IsTrue(switchObject.HasDescription); Assert.IsTrue(switchObject.HasEnoughNames); Assert.IsTrue(switchObject.HasLongName); Assert.IsTrue(switchObject.IsRequired); }
public void WithArgumentNames() { string[] argumentNames = new string[] { "arg1", "arg2", "arg3" }; Switch switchObject = new Switch(Name, LongName, Description, IsRequired, argumentNames); Assert.AreEqual(Description, switchObject.Description); Assert.AreEqual(argumentNames, switchObject.GetArgumentNames()); Assert.AreEqual(NoArgumentValues, switchObject.GetArgumentValues()); Assert.AreEqual(LongName, switchObject.LongName); Assert.AreEqual(Name, switchObject.Name); Assert.AreEqual(argumentNames.Length, switchObject.NumberArguments); Assert.IsFalse(switchObject.HasEnoughValues); Assert.IsFalse(switchObject.IsOptional); Assert.IsNotNull(switchObject.Description); Assert.IsNotNull(switchObject.LongName); Assert.IsNotNull(switchObject.Name); Assert.IsTrue(switchObject.HasArguments); Assert.IsTrue(switchObject.HasDescription); Assert.IsTrue(switchObject.HasEnoughNames); Assert.IsTrue(switchObject.HasLongName); Assert.IsTrue(switchObject.IsRequired); }