X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMono.Options%2FTest%2FMono.Options%2FOptionSetTest.cs;h=572223ebd667110f30f7aa6dd013693c351b4180;hb=0fa33056a6742b2ee02604596b355d661d9bdc41;hp=086c6d9c8c24a6f76a4463ea00e16881c9d8daf7;hpb=b57fcaa28b7108c701b378a27f772917c225d033;p=mono.git diff --git a/mcs/class/Mono.Options/Test/Mono.Options/OptionSetTest.cs b/mcs/class/Mono.Options/Test/Mono.Options/OptionSetTest.cs index 086c6d9c8c2..572223ebd66 100644 --- a/mcs/class/Mono.Options/Test/Mono.Options/OptionSetTest.cs +++ b/mcs/class/Mono.Options/Test/Mono.Options/OptionSetTest.cs @@ -46,7 +46,7 @@ using NUnit.Framework; #if NDESK_OPTIONS namespace Tests.NDesk.Options #else -namespace Tests.Mono.Options +namespace MonoTests.Mono.Options #endif { class FooConverter : TypeConverter { @@ -269,6 +269,26 @@ namespace Tests.Mono.Options p, v => { v.Parse (_("-n=")); }); } + [Test] + public void EnumValues () + { + DayOfWeek a = 0; + OptionSet p = new OptionSet () { + { "a=", (DayOfWeek v) => a = v }, + }; + p.Parse (_ ("-a=Monday")); + Assert.AreEqual (a, DayOfWeek.Monday); + p.Parse (_ ("-a=tuesday")); + Assert.AreEqual (a, DayOfWeek.Tuesday); + p.Parse (_ ("-a=3")); + Assert.AreEqual (a, DayOfWeek.Wednesday); + p.Parse (_ ("-a=Monday,Tuesday")); + Assert.AreEqual (a, DayOfWeek.Monday | DayOfWeek.Tuesday); + Utils.AssertException (typeof (OptionException), + "Could not convert string `Noday' to type DayOfWeek for option `-a'.", + p, v => { v.Parse (_ ("-a=Noday")); }); + } + [Test] public void BooleanValues () { @@ -354,10 +374,10 @@ namespace Tests.Mono.Options p, v => { v.Parse (_("-a", "-b")); }); Assert.AreEqual (a, "-b"); Utils.AssertException (typeof(ArgumentNullException), - "Argument cannot be null.\nParameter name: option", + "Value cannot be null.\nParameter name: option", p, v => { v.Add ((Option) null); }); Utils.AssertException (typeof(ArgumentNullException), - "Argument cannot be null.\nParameter name: header", + "Value cannot be null.\nParameter name: header", p, v => { v.Add ((string) null); }); // bad type @@ -374,7 +394,7 @@ namespace Tests.Mono.Options p, v => { v.Parse (_("-cz", "extra")); }); Utils.AssertException (typeof(ArgumentNullException), - "Argument cannot be null.\nParameter name: action", + "Value cannot be null.\nParameter name: action", p, v => { v.Add ("foo", (Action) null); }); Utils.AssertException (typeof(ArgumentException), "Cannot provide maxValueCount of 2 for OptionValueType.None.\nParameter name: maxValueCount", @@ -752,7 +772,7 @@ namespace Tests.Mono.Options Utils.AssertException (typeof(ArgumentException), "prototypes must be null!", p, v => { v.Add ("N|NUM=", (int n) => {}); }); Utils.AssertException (typeof(ArgumentNullException), - "Argument cannot be null.\nParameter name: option", + "Value cannot be null.\nParameter name: option", p, v => { v.GetOptionForName (null); }); }