コード例 #1
0
        public void Should_Detect_Required_Variables()
        {
            var optionSet = new RequiredValuesOptionSet();
            var name      = optionSet.AddRequiredVariable <string>("n", "");
            var age       = optionSet.AddRequiredVariable <int>("a", "");
            var age2      = optionSet.AddRequiredVariable <int>("b", "");
            var age3      = optionSet.AddRequiredVariable <int>("c", "");

            //TODO: Screaming for NUnit-test-case-coverage.
            var args = "-n FindThisString".Split(' ');

            optionSet.Parse(args);

            /* TODO: Might could (should) also verify that each of the missing ones,
             * as well as found ones, are either there are not there. */
            Assert.AreEqual(3, optionSet.GetMissingVariables().Count());

            Assert.AreEqual("FindThisString", name);
        }
コード例 #2
0
        public void Should_Respond_To_Missing_Required_Variables_With_Show_Help()
        {
            var optionSet = new RequiredValuesOptionSet();

            //Populate the OptionSet with some nominal options.
            var name = optionSet.AddRequiredVariable <string>("n", "");
            var age  = optionSet.AddRequiredVariable <int>("a", "");
            var age2 = optionSet.AddRequiredVariable <int>("b", "");
            var age3 = optionSet.AddRequiredVariable <int>("c", "");

            const string ConsoleName = "Test";

            var cm = new ConsoleManager(ConsoleName, optionSet);

            using (var writer = new StringWriter())
            {
                var parsed = cm.TryParseOrShowHelp(writer, new string[] {});

                Assert.IsFalse(parsed);

                Assert.IsTrue(writer.ToString().Contains(ConsoleName + ": error parsing arguments:"));
            }
        }
コード例 #3
0
        public void Show_Show_Help_For_Remaining_Args()
        {
            var optionSet = new RequiredValuesOptionSet();

            //This one can be a required-variable, no problem, but that's it.
            var name = optionSet.AddRequiredVariable <string>("n");

            const string ConsoleName = "Test";

            var cm = new ConsoleManager(ConsoleName, optionSet);

            //Then we should have some remaining args.
            var args = "-n ThisIsName UnknownOptionCausesErrorShowHelp".Split(' ');

            using (var writer = new StringWriter())
            {
                var parsed = cm.TryParseOrShowHelp(writer, args);

                Assert.IsFalse(parsed);

                // Test contains Visual Studio error message
                Assert.IsTrue(writer.ToString().Contains(ConsoleName + ": error parsing arguments:"));
            }
        }