Esempio n. 1
0
        public void Boolean__(string input, string expected)
        {
            object result;
            bool   parsed = Parser.TryParse(input, typeof(bool), out result);

            Assert.True(parsed); // boolean always parses

            string back = Parser.ToRawString(result);

            Assert.Equal(expected, back);
        }
Esempio n. 2
0
        public void ToRawString_WhenInputIsValid_ReturnValidString(string rawValue)
        {
            object outValObj;

            if (rawValue != null)
            {
                Assert.True(TypeParser.TryParse(rawValue, typeof(string[]), out outValObj));
            }
            else
            {
                Assert.False(TypeParser.TryParse(null, typeof(string[]), out outValObj));
            }

            Assert.Equal(rawValue, TypeParser.ToRawString(outValObj as string[]));
        }
Esempio n. 3
0
        public void ToRawString_WhenInputIsValid_ReturnValidString(string rawValue)
        {
            object outValObj;
            long   outVal;

            Assert.True(TypeParser.TryParse(rawValue, typeof(long), out outValObj));
            outVal = (long)outValObj;

            Assert.Equal(rawValue, TypeParser.ToRawString(outVal));
        }
        public void ToNetworkCredential_WhenInputIsValid_ReturnValidStringCredentials(string rawValue)
        {
            object creds = null;

            Assert.True(TypeParser.TryParse(rawValue, typeof(NetworkCredential), out creds));
            var networkCredentials = (NetworkCredential)creds;

            Assert.Equal("user", networkCredentials.UserName);
            Assert.Equal("pass", networkCredentials.Password);
            Assert.Equal("domain", networkCredentials.Domain);
        }
Esempio n. 5
0
        public void ToRawString_WhenInputIsValid_ReturnValidString(string rawValue)
        {
            object outValObj;
            double outVal;

            Assert.True(TypeParser.TryParse(rawValue, typeof(double), out outValObj));
            outVal = (double)outValObj;

            string actual = TypeParser.ToRawString(outVal);

            Assert.True(rawValue == actual, $"{rawValue} != {actual}");
        }
Esempio n. 6
0
        public void ToRawString_WhenInputIsValid_ReturnValidString(string rawValue)
        {
            object outValObj;
            byte   outVal;

            Assert.True(TypeParser.TryParse(rawValue, typeof(byte), out outValObj));
            outVal = (byte)outValObj;
            if (rawValue.StartsWith("0x"))
            {
                Assert.Equal(rawValue, "0x" + outVal.ToString("X2"));
            }
            else
            {
                Assert.Equal(rawValue, TypeParser.ToRawString(outVal));
            }
        }
Esempio n. 7
0
        public void ParseTwoWays_Variable_Variable()
        {
            var date = DateTime.UtcNow;

            string s = TypeParser.ToRawString(date);

            object   date1Obj;
            DateTime date1;
            bool     parsed = TypeParser.TryParse(s, typeof(DateTime), out date1Obj);

            Assert.True(parsed);
            Assert.NotNull(date1Obj);

            date1 = (DateTime)date1Obj;
            Assert.True(parsed);
            Assert.Equal(date.RoundToDay(), date1.RoundToDay());
        }
Esempio n. 8
0
        /// <summary>
        /// Reads the option value
        /// </summary>
        /// <typeparam name="T">Option type</typeparam>
        /// <param name="option">Option reference</param>
        /// <returns>Option value</returns>
        public T Read <T>(Option <T> option)
        {
            CheckConfigured();

            CheckCanParse(option.NonNullableType);

            OptionValue optionValue;

            _nameToOptionValue.TryGetValue(option.Name, out optionValue);

            if (!optionValue.IsExpired(_config.CacheTimeout))
            {
                return((T)optionValue.RawValue);
            }

            string value = ReadFirstValue(option.Name);

            if (value == null)
            {
                optionValue.RawValue = option.DefaultValue;
            }
            else if (DefaultParser.IsSupported(option.NonNullableType))
            {
                object resultObject;
                if (DefaultParser.TryParse(value, option.NonNullableType, out resultObject))
                {
                    optionValue.Update <T>((T)resultObject);
                }
                else
                {
                    optionValue.Update(option.DefaultValue);
                }
            }
            else
            {
                ITypeParser typeParser = _config.GetParser(option.NonNullableType);
                object      result;
                typeParser.TryParse(value, option.NonNullableType, out result);
                optionValue.Update <T>((T)result);
            }

            OnReadOption(option, optionValue.RawValue);

            return((T)optionValue.RawValue);
        }
Esempio n. 9
0
        public bool TryParse(Type propertyType, string rawValue, out object result)
        {
            if (_defaultParser.IsSupported(propertyType)) //type here must be a non-nullable one
            {
                if (!_defaultParser.TryParse(rawValue, propertyType, out result))
                {
                    return(false);
                }
            }
            else
            {
                ITypeParser typeParser = GetParser(propertyType);
                if (!typeParser.TryParse(rawValue, propertyType, out result))
                {
                    return(false);
                }
            }

            return(true);
        }
Esempio n. 10
0
        public void ToRawString_WhenInputIsValid_ReturnValidString(string rawValue, string expected = null)
        {
            if (expected == null)
            {
                expected = rawValue;
            }

            bool parsed = TypeParser.TryParse(rawValue, typeof(string[]), out object outValObj);

            if (rawValue != null)
            {
                Assert.True(parsed);
            }
            else
            {
                Assert.False(parsed);
            }

            Assert.Equal(expected, TypeParser.ToRawString(outValObj as string[]));
        }