Пример #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);
        }
Пример #2
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));
        }
Пример #3
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}");
        }
Пример #4
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[]));
        }
Пример #5
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));
            }
        }
Пример #6
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());
        }
Пример #7
0
        private string GetRawStringValue <T>(Option <T> option, T value)
        {
            string      stringValue = null;
            ITypeParser typeParser  = _config.GetParser(option.NonNullableType);

            if (typeParser != null)
            {
                stringValue = typeParser.ToRawString(value);
            }
            else
            {
                if (DefaultParser.IsSupported(typeof(T)))
                {
                    stringValue = DefaultParser.ToRawString(value);
                }
            }
            return(stringValue);
        }
Пример #8
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[]));
        }
Пример #9
0
        public string ConvertValue(Type baseType, object value)
        {
            string str;

            if (value == null)
            {
                str = null;
            }
            else
            {
                if (_defaultParser.IsSupported(baseType))
                {
                    str = _defaultParser.ToRawString(value);
                }
                else
                {
                    ITypeParser parser = GetParser(value.GetType());
                    str = parser.ToRawString(value);
                }
            }

            return(str);
        }