Exemple #1
0
        public void TestArgumentParserUtils_TrySetPropertyValue_Single()
        {
            IDictionary <string, ArgumentData> data = ArgumentParserUtils.GetArgumentData <TestParams>();
            TestParams testParams = new TestParams();

            Assert.IsTrue(testParams.TrySetPropertyValue(data["s"].Property, "value"));
            Assert.AreEqual("value", testParams.String);

            Assert.IsTrue(testParams.TrySetPropertyValue(data["iv"].Property, "7"));
            Assert.AreEqual(7, testParams.Count);

            Assert.IsTrue(testParams.TrySetPropertyValue(data["ev"].Property, "First"));
            Assert.AreEqual(TestOrdinal.First, testParams.OrdinalVal);

            Assert.IsTrue(testParams.TrySetPropertyValue(data["f"].Property, "true"));
            Assert.AreEqual(true, testParams.IsFree);
        }
Exemple #2
0
        public void TestArgumentParserUtils_TrySetPropertyValue_Invalid()
        {
            IDictionary <string, ArgumentData> data = ArgumentParserUtils.GetArgumentData <TestParams>();
            TestParams testParams = new TestParams();

            Assert.IsFalse(testParams.TrySetPropertyValue(data["iv"].Property, "NaN"));
            Assert.IsFalse(testParams.TrySetPropertyValue(data["ev"].Property, "Sec"));
            Assert.IsFalse(testParams.TrySetPropertyValue(data["df"].Property, "NotTrue"));

            Assert.IsFalse(testParams.TrySetPropertyValue(data["ia"].Property, new[] { "NaN", "1" }));
            Assert.IsFalse(testParams.TrySetPropertyValue(data["ea"].Property, new[] { "First", "Sec" }));

            // Ensure error messages are displayed
            IList <string> errorLog = Logger.ErrorLog;

            Assert.AreEqual(5, errorLog.Count);
            Assert.AreEqual("Error: Given value 'NaN' should be of type 'Int32'", errorLog[0]);
            Assert.AreEqual("Error: Unknown value 'Sec' given. Valid values - [First, Second, Third]", errorLog[1]);
            Assert.AreEqual("Error: Given value 'NotTrue' should be of type 'Boolean'", errorLog[2]);

            Assert.AreEqual("Error: Given values 'NaN, 1' should be a list of type 'Int32'", errorLog[3]);
            Assert.AreEqual("Error: Given list 'First, Sec' contains an unknown value. Valid values - [First, Second, Third]", errorLog[4]);
        }
Exemple #3
0
        public void TestArgumentParserUtils_TrySetPropertyValue_Array()
        {
            IDictionary <string, ArgumentData> data = ArgumentParserUtils.GetArgumentData <TestParams>();
            TestParams testParams = new TestParams();

            // string array
            Assert.IsTrue(testParams.TrySetPropertyValue(data["a"].Property, new[] { "value1", "value2" }));
            Assert.AreEqual(2, testParams.Array.Count());
            Assert.IsTrue(testParams.Array.Contains("value1"));
            Assert.IsTrue(testParams.Array.Contains("value2"));

            // int array
            Assert.IsTrue(testParams.TrySetPropertyValue(data["ia"].Property, new[] { "2", "3" }));
            Assert.AreEqual(2, testParams.Array.Count());
            Assert.IsTrue(testParams.IntArray.Contains(2));
            Assert.IsTrue(testParams.IntArray.Contains(2));

            // Enum array
            Assert.IsTrue(testParams.TrySetPropertyValue(data["ea"].Property, new[] { "First", "Second" }));
            Assert.AreEqual(2, testParams.Array.Count());
            Assert.IsTrue(testParams.EnumArray.Contains(TestOrdinal.First));
            Assert.IsTrue(testParams.EnumArray.Contains(TestOrdinal.Second));
        }
        public void TestArgumentParserUtils_TrySetPropertyValue_Single()
        {
            IDictionary<string, ArgumentData> data = ArgumentParserUtils.GetArgumentData<TestParams>();
            TestParams testParams = new TestParams();

            Assert.IsTrue(testParams.TrySetPropertyValue(data["s"].Property, "value"));
            Assert.AreEqual("value", testParams.String);

            Assert.IsTrue(testParams.TrySetPropertyValue(data["iv"].Property, "7"));
            Assert.AreEqual(7, testParams.Count);

            Assert.IsTrue(testParams.TrySetPropertyValue(data["ev"].Property, "First"));
            Assert.AreEqual(TestOrdinal.First, testParams.OrdinalVal);

            Assert.IsTrue(testParams.TrySetPropertyValue(data["f"].Property, "true"));
            Assert.AreEqual(true, testParams.IsFree);
        }
        public void TestArgumentParserUtils_TrySetPropertyValue_Invalid()
        {
            IDictionary<string, ArgumentData> data = ArgumentParserUtils.GetArgumentData<TestParams>();
            TestParams testParams = new TestParams();

            Assert.IsFalse(testParams.TrySetPropertyValue(data["iv"].Property, "NaN"));
            Assert.IsFalse(testParams.TrySetPropertyValue(data["ev"].Property, "Sec"));
            Assert.IsFalse(testParams.TrySetPropertyValue(data["df"].Property, "NotTrue"));

            Assert.IsFalse(testParams.TrySetPropertyValue(data["ia"].Property, new[] { "NaN", "1"}));
            Assert.IsFalse(testParams.TrySetPropertyValue(data["ea"].Property, new[] { "First", "Sec"}));

            // Ensure error messages are displayed
            IList<string> errorLog = Logger.ErrorLog;
            Assert.AreEqual(5, errorLog.Count);
            Assert.AreEqual("Error: Given value 'NaN' should be of type 'Int32'", errorLog[0]);
            Assert.AreEqual("Error: Unknown value 'Sec' given. Valid values - [First, Second, Third]", errorLog[1]);
            Assert.AreEqual("Error: Given value 'NotTrue' should be of type 'Boolean'", errorLog[2]);

            Assert.AreEqual("Error: Given values 'NaN, 1' should be a list of type 'Int32'", errorLog[3]);
            Assert.AreEqual("Error: Given list 'First, Sec' contains an unknown value. Valid values - [First, Second, Third]", errorLog[4]);
        }
        public void TestArgumentParserUtils_TrySetPropertyValue_Array()
        {
            IDictionary<string, ArgumentData> data = ArgumentParserUtils.GetArgumentData<TestParams>();
            TestParams testParams = new TestParams();

            // string array
            Assert.IsTrue(testParams.TrySetPropertyValue(data["a"].Property, new[] {"value1", "value2"}));
            Assert.AreEqual(2, testParams.Array.Count());
            Assert.IsTrue(testParams.Array.Contains("value1"));
            Assert.IsTrue(testParams.Array.Contains("value2"));

            // int array
            Assert.IsTrue(testParams.TrySetPropertyValue(data["ia"].Property, new[] { "2", "3" }));
            Assert.AreEqual(2, testParams.Array.Count());
            Assert.IsTrue(testParams.IntArray.Contains(2));
            Assert.IsTrue(testParams.IntArray.Contains(2));

            // Enum array
            Assert.IsTrue(testParams.TrySetPropertyValue(data["ea"].Property, new[] { "First", "Second" }));
            Assert.AreEqual(2, testParams.Array.Count());
            Assert.IsTrue(testParams.EnumArray.Contains(TestOrdinal.First));
            Assert.IsTrue(testParams.EnumArray.Contains(TestOrdinal.Second));
        }