Beispiel #1
0
        public void CheckCli_BoolValues_CorrectlyNormalized()
        {
            var paramsNormalizer = new CliParametersNormalizer <CliTestsParameters>();

            string[] outArgs;

            Assert.IsTrue(paramsNormalizer.Normalize(new[] { "--bool1", "--bool2" }, out outArgs));
            CollectionAssert.AreEqual(new List <string> {
                "--bool1", "true", "--bool2", "true"
            }, outArgs);

            Assert.IsTrue(paramsNormalizer.Normalize(new[] { "--bool1", "true", "--bool2", "false" }, out outArgs));
            CollectionAssert.AreEqual(new List <string> {
                "--bool1", "true", "--bool2", "false"
            }, outArgs);

            Assert.IsTrue(paramsNormalizer.Normalize(new[] { "--bool" }, out outArgs));
            CollectionAssert.AreEqual(new List <string> {
                "--bool"
            }, outArgs);

            Assert.IsTrue(paramsNormalizer.Normalize(new[] { "--bool", "--bool1" }, out outArgs));
            CollectionAssert.AreEqual(new List <string> {
                "--bool", "--bool1", "true"
            }, outArgs);

            Assert.IsTrue(paramsNormalizer.Normalize(new[] { "--bool", "true" }, out outArgs));
            CollectionAssert.AreEqual(new List <string> {
                "--bool"
            }, outArgs);

            Assert.IsTrue(paramsNormalizer.Normalize(new[] { "--bool", "false" }, out outArgs));
            CollectionAssert.AreEqual(new List <string> {
            }, outArgs);
        }
Beispiel #2
0
        public void CheckCli_ValidAndInvalidArgs_CorrectlyNormalized()
        {
            var normalizer = new CliParametersNormalizer <CliTestsParameters>();

            string[] outArgs;

            Assert.IsFalse(normalizer.Normalize(new[] { "-upp", "val1", "val2", "-u", "-s", "str" }, out outArgs));
            CollectionAssert.AreEqual(new List <string> {
                "-s", "str"
            }, outArgs);

            Assert.IsFalse(normalizer.Normalize(new[] { "val", "--s", "-str", "-int1", "1", "--option", "opt" }, out outArgs));
            CollectionAssert.AreEqual(new List <string> {
                "-s", "-str", "--int1", "1", "--option", "opt"
            }, outArgs);

            Assert.IsTrue(normalizer.Normalize(new[] { "-s", "str", "--int1", "1" }, out outArgs));
        }
Beispiel #3
0
        public void CheckCli_DuplicateParams_CorrectlyNormalized()
        {
            var paramsNormalizer = new CliParametersNormalizer <CliTestsParameters>();

            string[] outArgs;

            string[] inputArgs = "--int -1 --int 1".SplitArguments();

            paramsNormalizer.CheckDuplicates = false;
            paramsNormalizer.Errors.Clear();
            Assert.IsTrue(paramsNormalizer.Normalize(inputArgs, out outArgs));
            Assert.AreEqual(0, paramsNormalizer.Errors.Count);
            Assert.AreEqual(4, outArgs.Length);

            paramsNormalizer.CheckDuplicates = true;
            paramsNormalizer.Errors.Clear();
            Assert.IsFalse(paramsNormalizer.Normalize(inputArgs, out outArgs));
            Assert.AreEqual(1, paramsNormalizer.Errors.Count);
            Assert.AreEqual(2, outArgs.Length);
            Assert.AreEqual("--int", outArgs[0]);
            Assert.AreEqual("1", outArgs[1]);
        }
Beispiel #4
0
        public void CheckCli_ArgsWithTypes_CorrectlyNormalized()
        {
            var paramsNormalizer = new CliParametersNormalizer <CliTestsParameters>();

            string[] outArgs;

            string[] inputArgs = "--int x --uint x --byte x --sbyte x --short x --ushort x --long x --ulong x --float x --double x --decimal x --bool x --enum x".SplitArguments();
            Assert.IsFalse(paramsNormalizer.Normalize(inputArgs, out outArgs));
            Assert.AreEqual(13, paramsNormalizer.Errors.Count);
            CollectionAssert.AreEqual(new List <string>(), outArgs);

            paramsNormalizer.CheckTypes = false;
            paramsNormalizer.Errors.Clear();
            Assert.IsTrue(paramsNormalizer.Normalize(inputArgs, out outArgs));
            Assert.AreEqual(0, paramsNormalizer.Errors.Count);
            Assert.AreEqual(inputArgs.Length - 1, outArgs.Length);

            paramsNormalizer.CheckTypes = true;
            paramsNormalizer.Errors.Clear();
            inputArgs = "--int -1 --uint 2 --byte 3 --sbyte -4 --short -5 --ushort 6 --long -7 --ulong 8 --float 9.0 --double 10.0 --decimal 11.0 --bool true --enum file".SplitArguments();
            Assert.IsTrue(paramsNormalizer.Normalize(inputArgs, out outArgs));
            Assert.AreEqual(0, paramsNormalizer.Errors.Count);
            Assert.AreEqual(inputArgs.Length - 1, outArgs.Length);
        }