public void AddArgumentName() { const string ArgumentName1 = "arg1"; const string ArgumentName2 = "arg2"; string[] argumentNames1 = new string[] { ArgumentName1 }; string[] argumentNames2 = new string[] { ArgumentName1, ArgumentName2 }; Switch switchObject = new Switch(Name, LongName, Description, HasArguments, IsRequired); // Add first argument name. switchObject.AddArgumentName(ArgumentName1); Assert.AreEqual(argumentNames1, switchObject.GetArgumentNames()); Assert.AreEqual(NoArgumentValues, switchObject.GetArgumentValues()); Assert.AreEqual(UnknownNumberArguments, switchObject.NumberArguments); Assert.IsFalse(switchObject.HasEnoughValues); Assert.IsTrue(switchObject.HasArguments); Assert.IsTrue(switchObject.HasEnoughNames); // Add second argument name. switchObject.AddArgumentName(ArgumentName2); Assert.AreEqual(argumentNames2, switchObject.GetArgumentNames()); Assert.AreEqual(NoArgumentValues, switchObject.GetArgumentValues()); Assert.AreEqual(UnknownNumberArguments, switchObject.NumberArguments); Assert.IsFalse(switchObject.HasEnoughValues); Assert.IsTrue(switchObject.HasArguments); Assert.IsTrue(switchObject.HasEnoughNames); }
public void HasAllNamesProperty() { const string ArgumentName1 = "arg1"; const string ArgumentName2 = "arg2"; const string ArgumentName3 = "arg3"; const string ArgumentName4 = "arg4"; const int NumberArguments = 3; // Test when number of arguments known. Switch switchObject = new Switch(Name); Assert.IsFalse(switchObject.HasAllNames); switchObject = new Switch(Name, LongName, Description, NumberArguments, IsRequired); Assert.IsFalse(switchObject.HasAllNames); switchObject.AddArgumentName(ArgumentName1); Assert.IsFalse(switchObject.HasAllNames); switchObject.AddArgumentName(ArgumentName2); Assert.IsFalse(switchObject.HasAllNames); switchObject.AddArgumentName(ArgumentName3); Assert.AreEqual(NumberArguments, switchObject.NumberArgumentNames); Assert.IsTrue(switchObject.HasAllNames); // Add extra argument name, exceeding necessary number. switchObject.AddArgumentName(ArgumentName4); // Extra argument name should not be added. Assert.AreEqual(NumberArguments, switchObject.NumberArgumentNames); Assert.IsTrue(switchObject.HasAllNames); // Test when number of arguments unknown. switchObject = new Switch(Name, LongName, Description, HasArguments, IsRequired, ArgumentName1); Assert.IsFalse(switchObject.HasAllNames); switchObject.AddArgumentName(ArgumentName2); Assert.IsFalse(switchObject.HasAllNames); }
public void NumberArgumentNames() { string[] argumentNames = new string[] { "arg1", "arg2", "arg3" }; Switch switchObject = new Switch(Name, LongName, Description, HasArguments, IsRequired); int numberArgumentNames = 0; Assert.AreEqual(numberArgumentNames, switchObject.NumberArgumentNames); foreach (string argumentName in argumentNames) { switchObject.AddArgumentName(argumentName); numberArgumentNames++; Assert.AreEqual(numberArgumentNames, switchObject.NumberArgumentNames); } }