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); }
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)); }
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]); }
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); }