コード例 #1
0
        public void HelpTextWrappingTest()
        {
            var args = new MyTestCmdLineObject();

            args.InitializeFromCmdLine();
            var vals = new[] { 1, 2 };

            Debug.WriteLine(args.GetHelpText(40));
            Assert.IsTrue(args.IsValid());
        }
コード例 #2
0
        public void CmdLineDescriptionTest()
        {
            string test = "This is a test\ntest  test test";

            string[] lines = test.Lines();
            foreach (string line in lines)
            {
                Debug.WriteLine(line);
            }

            var args = new MyTestCmdLineObject();

            args.InitializeEmpty();
            Debug.WriteLine(args.GetHelpText(50));
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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));
        }