Exemplo n.º 1
0
		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);
		}
Exemplo n.º 2
0
		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);
		}
Exemplo n.º 3
0
		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);
			}
		}