public void FlagsEnumVM2() { CommandLineArgs.Set("-FlagsEnumVM2", "Flag1", "Flag5|Flag3", "Flag3", "Flag4"); Settings_Enums settings = CommandLineParser.GetSettings <Settings_Enums>(); // ----- FlagsEnumVM2 ----- //Correct flags are set Assert.AreEqual(MyFlagsEnum.Flag1 | MyFlagsEnum.Flag3 | MyFlagsEnum.Flag5, settings.FlagsEnumVM2); // ----- GlobalUnconsumedArguments ----- //Not null Assert.AreNotEqual(null, settings.GlobalUnconsumedArguments); //Correct length Assert.AreEqual(2, settings.GlobalUnconsumedArguments.Length); //Array elements are correct Assert.AreEqual("Flag3", settings.GlobalUnconsumedArguments[0]); Assert.AreEqual("Flag4", settings.GlobalUnconsumedArguments[1]); //Other properties should not be set. Assert.AreEqual(null, settings.EnumArray); Assert.AreEqual(null, settings.FlagsEnumArray); Assert.AreEqual(null, settings.FlagsEnumCollection); Assert.AreEqual(MyEnum.None, settings.Enum); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumVM1); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumJoined); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumJoinedWithSeparators); }
public void FlagsEnumCollection() { CommandLineArgs.Set("-FlagsEnumCollection", "Flag1", "Flag5|Flag3", "Flag3", "Flag4"); Settings_Enums settings = CommandLineParser.GetSettings <Settings_Enums>(); //Not null Assert.AreNotEqual(null, settings.FlagsEnumCollection); //Correct length Assert.AreEqual(4, settings.FlagsEnumCollection.Count); //Correct flags are set Assert.AreEqual(MyFlagsEnum.Flag1, settings.FlagsEnumCollection[0]); Assert.AreEqual(MyFlagsEnum.Flag3 | MyFlagsEnum.Flag5, settings.FlagsEnumCollection[1]); Assert.AreEqual(MyFlagsEnum.Flag3, settings.FlagsEnumCollection[2]); Assert.AreEqual(MyFlagsEnum.Flag4, settings.FlagsEnumCollection[3]); //Other properties should not be set. Assert.AreEqual(null, settings.GlobalUnconsumedArguments); Assert.AreEqual(null, settings.EnumArray); Assert.AreEqual(null, settings.FlagsEnumArray); Assert.AreEqual(MyEnum.None, settings.Enum); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumVM1); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumVM2); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumJoined); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumJoinedWithSeparators); }
public void Enum() { CommandLineArgs.Set("-Enum", "Value1", "Value2", "Value5|Value3", "Value3"); Settings_Enums settings = CommandLineParser.GetSettings <Settings_Enums>(); // ----- Enum ----- //Correct flags are set Assert.AreEqual(MyEnum.Value1, settings.Enum); // ----- GlobalUnconsumedArguments ----- //Not null Assert.AreNotEqual(null, settings.GlobalUnconsumedArguments); //Correct length Assert.AreEqual(3, settings.GlobalUnconsumedArguments.Length); //Array elements are correct Assert.AreEqual("Value2", settings.GlobalUnconsumedArguments[0]); Assert.AreEqual("Value5|Value3", settings.GlobalUnconsumedArguments[1]); Assert.AreEqual("Value3", settings.GlobalUnconsumedArguments[2]); //Other properties should not be set. Assert.AreEqual(null, settings.EnumArray); Assert.AreEqual(null, settings.FlagsEnumArray); Assert.AreEqual(null, settings.FlagsEnumCollection); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumVM1); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumVM2); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumJoined); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumJoinedWithSeparators); }
public void FlagsEnumJoined() { CommandLineArgs.Set("-FlagsEnumJoinedFlag1|Flag5|Flag3|Flag3"); Settings_Enums settings = CommandLineParser.GetSettings <Settings_Enums>(); //Correct flags are set Assert.AreEqual(MyFlagsEnum.Flag1 | MyFlagsEnum.Flag3 | MyFlagsEnum.Flag5, settings.FlagsEnumJoined); //Other properties should not be set. Assert.AreEqual(null, settings.GlobalUnconsumedArguments); Assert.AreEqual(null, settings.EnumArray); Assert.AreEqual(null, settings.FlagsEnumArray); Assert.AreEqual(null, settings.FlagsEnumCollection); Assert.AreEqual(MyEnum.None, settings.Enum); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumVM1); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumVM2); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumJoinedWithSeparators); }
public void FlagsEnumJoinedWithSeparators() { //Apparently, the Enum.Parse method doesn't care about white space :) CommandLineArgs.Set("-FlagsEnumJoinedWithSeparatorsFlag1|Flag5,Flag5; Flag5 |Flag3 ; Flag3"); Settings_Enums settings = CommandLineParser.GetSettings <Settings_Enums>(); //Correct flags are set Assert.AreEqual(MyFlagsEnum.Flag1 | MyFlagsEnum.Flag3 | MyFlagsEnum.Flag5, settings.FlagsEnumJoinedWithSeparators); //Other properties should not be set. Assert.AreEqual(null, settings.GlobalUnconsumedArguments); Assert.AreEqual(null, settings.EnumArray); Assert.AreEqual(null, settings.FlagsEnumArray); Assert.AreEqual(null, settings.FlagsEnumCollection); Assert.AreEqual(MyEnum.None, settings.Enum); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumVM1); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumVM2); Assert.AreEqual(MyFlagsEnum.None, settings.FlagsEnumJoined); }