public void HelpTextWrappingTest() { var args = new MyTestCmdLineObject(); args.InitializeFromCmdLine(); var vals = new[] { 1, 2 }; Debug.WriteLine(args.GetHelpText(40)); Assert.IsTrue(args.IsValid()); }
public void ValidateSetTest() { var args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/SampleColor", "red"); Assert.IsTrue(args.IsValid()); Assert.AreEqual("red", args.SampleColor); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/SampleColor", "green"); Assert.IsTrue(args.IsValid()); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/SampleColor", "blue"); Assert.IsTrue(args.IsValid()); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/SampleColor", "Blue"); Assert.IsTrue(args.IsValid()); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/SampleColor", "purple"); Assert.IsFalse(args.IsValid()); Debug.WriteLine(args.ErrorText); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/SampleColor2", "pink"); args.Properties["SampleColor2"].Validators.Add(new SetValidator <string>("pink", "purple", "puce")); Assert.IsTrue(args.IsValid()); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/SampleColor2", "pink"); // Uses a custom equality comparer (a BizArk class). args.Properties["SampleColor2"].Validators.Add( new SetValidator <string>(new EqualityComparer((a, b) => { return(a == b); }), "pink")); Assert.IsTrue(args.IsValid()); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/NumberOfScoops", "2"); var vals = new[] { 1, 2 }; args.Properties["NumberOfScoops"].Validators.Add(new SetValidator <int>(vals)); Debug.WriteLine(args.GetHelpText(50)); Assert.IsTrue(args.IsValid()); }
public void InitializeFromCmdLine_ArgumentValidationTest() { var args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/NumberOfScoops", "2"); Assert.AreEqual(2, args.NumberOfScoops); Assert.IsTrue(args.IsValid()); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/NumberOfScoops", "chocolate"); Assert.AreEqual(1, args.NumberOfScoops); Assert.IsFalse(args.IsValid()); Debug.WriteLine(args.GetHelpText(200)); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/FavoriteNumbers", "1", "2", "3"); Assert.AreEqual(3, args.FavoriteNumbers.Length); Assert.AreEqual(1, args.FavoriteNumbers[0]); Assert.AreEqual(2, args.FavoriteNumbers[1]); Assert.AreEqual(3, args.FavoriteNumbers[2]); Assert.IsTrue(args.IsValid()); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/FavoriteNumbers", "Red", "Green", "Blue"); Assert.AreEqual(1, args.NumberOfScoops); Assert.IsFalse(args.IsValid()); Debug.WriteLine(args.GetHelpText(200)); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/FavoriteCar", "Ford"); Assert.IsFalse(args.IsValid()); Debug.WriteLine(args.GetHelpText(200)); args = new MyTestCmdLineObject(); args.InitializeFromCmdLine("/NumberOfScoops", "5"); Assert.IsFalse(args.IsValid()); Debug.WriteLine(args.GetHelpText(200)); }