예제 #1
0
파일: SwitchTest.cs 프로젝트: bbadjari/ccli
		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);
		}
예제 #2
0
파일: SwitchTest.cs 프로젝트: bbadjari/ccli
		public void HasAllValuesProperty()
		{
			const string ArgumentName = "args";
			const int NumberArguments = 3;
			const string Value1 = "arg1";
			const string Value2 = "arg2";
			const string Value3 = "arg3";
			const string Value4 = "arg4";

			// Test when number of arguments known.

			Switch switchObject = new Switch(Name);

			Assert.IsFalse(switchObject.HasEnoughValues);

			switchObject = new Switch(Name, LongName, Description,
				NumberArguments, IsRequired);

			Assert.IsFalse(switchObject.HasAllValues);

			switchObject.AddArgumentValue(Value1);

			Assert.IsFalse(switchObject.HasAllValues);

			switchObject.AddArgumentValue(Value2);

			Assert.IsFalse(switchObject.HasAllValues);

			switchObject.AddArgumentValue(Value3);

			Assert.AreEqual(NumberArguments, switchObject.NumberArgumentValues);

			Assert.IsTrue(switchObject.HasAllValues);

			// Add extra argument value, exceeding necessary number.

			switchObject.AddArgumentValue(Value4);

			// Extra argument value should not be added.
			Assert.AreEqual(NumberArguments, switchObject.NumberArgumentValues);

			Assert.IsTrue(switchObject.HasAllValues);

			// Test when number of arguments unknown.

			switchObject = new Switch(Name, LongName, Description,
				HasArguments, IsRequired, ArgumentName);

			Assert.IsFalse(switchObject.HasAllValues);

			switchObject.AddArgumentValue(Value1);

			Assert.IsFalse(switchObject.HasAllValues);
		}
예제 #3
0
파일: SwitchTest.cs 프로젝트: bbadjari/ccli
		public void NumberArgumentValues()
		{
			string[] argumentValues = new string[] { "arg1", "arg2", "arg3" };

			Switch switchObject = new Switch(Name, LongName, Description,
				HasArguments, IsRequired);

			int numberArgumentValues = 0;

			Assert.AreEqual(numberArgumentValues, switchObject.NumberArgumentValues);

			foreach (string argumentValue in argumentValues)
			{
				switchObject.AddArgumentValue(argumentValue);

				numberArgumentValues++;

				Assert.AreEqual(numberArgumentValues, switchObject.NumberArgumentValues);
			}
		}