public void Multiple_strings_beginning_with_dash_are_considered_multiple_flags() { var arguments = new ArgumentList("-flag1", "-flag2"); var flag1 = arguments.GetFlag("flag1"); var flag2 = arguments.GetFlag("flag2"); Assert.IsTrue(flag1.HasValue); Assert.IsTrue(flag2.HasValue); Assert.AreEqual("flag1", flag1.Value.Name); Assert.AreEqual("flag2", flag2.Value.Name); }
public void String_beginning_with_dash_is_a_flag() { var arguments = new ArgumentList("-flag"); var flag = arguments.GetFlag("flag"); Assert.IsTrue(flag.HasValue); Assert.AreEqual("flag", flag.Value.Name); }
public void Strings_following_flag_are_values_of_that_flag() { var arguments = new ArgumentList("-flag", "value1", "value2"); var flag = arguments.GetFlag("flag").Value; Assert.IsTrue(flag.HasValues); Assert.AreEqual(2, flag.Values.Count); }
public void Getting_non_existing_flag_yeilds_nothing() { var arguments = new ArgumentList("-flag"); Assert.IsTrue(arguments.GetFlag("nonexisting").IsNothing); }
public void Multiple_flags_with_values_can_appear_after_each_other() { var arguments = new ArgumentList("-flag1", "value1", "-flag2", "value2", "value3"); var flag1 = arguments.GetFlag("flag1").Value; var flag2 = arguments.GetFlag("flag2").Value; Assert.AreEqual(1, flag1.Values.Count); Assert.AreEqual(2, flag2.Values.Count); Assert.AreEqual("value1", flag1.Values[0]); Assert.AreEqual("value2", flag2.Values[0]); Assert.AreEqual("value3", flag2.Values[1]); }
public void Flag_followed_by_flag_has_no_values() { var arguments = new ArgumentList("-flag1", "-flag2"); var flag = arguments.GetFlag("flag1").Value; Assert.IsFalse(flag.HasValues); }
public void Flag_without_following_values_has_no_values() { var arguments = new ArgumentList("-flag"); var flag = arguments.GetFlag("flag").Value; Assert.IsFalse(flag.HasValues); Assert.AreEqual(0, flag.Values.Count); }