Exemple #1
0
        public void StructToString()
        {
            var converter = new TestObjectConverter();

            Assert.Equal("(1,2)", converter.Convert(new StructType {
                X = 1, Y = 2
            }, typeof(string)));
            Assert.True(converter.UsedOnly <ToStringConverterFactory>());
        }
Exemple #2
0
        public void StringToNullableUShort()
        {
            var converter = new TestObjectConverter();

            Assert.Equal(UInt16.MinValue, converter.Convert(UInt16.MinValue.ToString(), typeof(ushort?)));
            Assert.Equal(UInt16.MaxValue, converter.Convert(UInt16.MaxValue.ToString(), typeof(ushort?)));
            Assert.Null(converter.Convert(string.Empty, typeof(ushort?)));
            Assert.True(converter.UsedOnly <NumericParseConverterFactory>());
        }
Exemple #3
0
        public void StringToInt()
        {
            var converter = new TestObjectConverter();

            Assert.Equal(Int32.MinValue, converter.Convert(Int32.MinValue.ToString(), typeof(int)));
            Assert.Equal(Int32.MaxValue, converter.Convert(Int32.MaxValue.ToString(), typeof(int)));
            Assert.Equal(default(int), converter.Convert(string.Empty, typeof(int)));
            Assert.True(converter.UsedOnly <NumericParseConverterFactory>());
        }
Exemple #4
0
        public void StringToDouble()
        {
            var converter = new TestObjectConverter();

            Assert.Equal(Double.MinValue, converter.Convert(Double.MinValue.ToString("R"), typeof(double)));
            Assert.Equal(Double.MaxValue, converter.Convert(Double.MaxValue.ToString("R"), typeof(double)));
            Assert.Equal(default(double), converter.Convert(string.Empty, typeof(double)));
            Assert.True(converter.UsedOnly <NumericParseConverterFactory>());
        }
Exemple #5
0
        public void StringToNullableFloat()
        {
            var converter = new TestObjectConverter();

            Assert.Equal(Single.MinValue, converter.Convert(Single.MinValue.ToString("R"), typeof(float?)));
            Assert.Equal(Single.MaxValue, converter.Convert(Single.MaxValue.ToString("R"), typeof(float?)));
            Assert.Null(converter.Convert(string.Empty, typeof(float?)));
            Assert.True(converter.UsedOnly <NumericParseConverterFactory>());
        }
        public void DecimalToUInt()
        {
            var converter = new TestObjectConverter();

            Assert.Equal(0U, converter.Convert(Decimal.Zero, typeof(uint)));
            Assert.Equal(1U, converter.Convert(Decimal.One, typeof(uint)));
            Assert.Equal(default(uint), converter.Convert(Decimal.MaxValue, typeof(uint)));
            Assert.True(converter.UsedOnly <DecimalConverterFactory>());
        }
Exemple #7
0
        public void DecimalToNullableBoolean()
        {
            var converter = new TestObjectConverter();

            Assert.False((bool)converter.Convert(0m, typeof(bool?)));
            Assert.True((bool)converter.Convert(1m, typeof(bool?)));
            Assert.True((bool)converter.Convert(-1m, typeof(bool?)));
            Assert.True(converter.UsedOnly <BooleanConverterFactory>());
        }
        public void DecimalToByte()
        {
            var converter = new TestObjectConverter();

            Assert.Equal((byte)0, converter.Convert(Decimal.Zero, typeof(byte)));
            Assert.Equal((byte)1, converter.Convert(Decimal.One, typeof(byte)));
            Assert.Equal(default(byte), converter.Convert(Decimal.MaxValue, typeof(byte)));
            Assert.True(converter.UsedOnly <DecimalConverterFactory>());
        }
Exemple #9
0
        public void FloatToBoolean()
        {
            var converter = new TestObjectConverter();

            Assert.False((bool)converter.Convert(0f, typeof(bool)));
            Assert.True((bool)converter.Convert(1f, typeof(bool)));
            Assert.True((bool)converter.Convert(-1f, typeof(bool)));
            Assert.True(converter.UsedOnly <BooleanConverterFactory>());
        }
Exemple #10
0
        public void ShortToNullableBoolean()
        {
            var converter = new TestObjectConverter();

            Assert.False((bool)converter.Convert((short)0, typeof(bool?)));
            Assert.True((bool)converter.Convert((short)1, typeof(bool?)));
            Assert.True((bool)converter.Convert((short)-1, typeof(bool?)));
            Assert.True(converter.UsedOnly <BooleanConverterFactory>());
        }
Exemple #11
0
        public void SByteToBoolean()
        {
            var converter = new TestObjectConverter();

            Assert.False((bool)converter.Convert((sbyte)0, typeof(bool)));
            Assert.True((bool)converter.Convert((sbyte)1, typeof(bool)));
            Assert.True((bool)converter.Convert((sbyte)-1, typeof(bool)));
            Assert.True(converter.UsedOnly <BooleanConverterFactory>());
        }
        public void ConvertExplicitToInt()
        {
            var converter = new TestObjectConverter();

            Assert.Equal(1, converter.Convert <int>(new ExplicitType {
                Value = 1
            }));
            Assert.True(converter.UsedOnly <ConversionOperatorConverterFactory>());
        }
        public void StringToEnum()
        {
            var converter = new TestObjectConverter();

            Assert.Equal(Enum1Type.Zero, converter.Convert("Zero", typeof(Enum1Type)));
            Assert.Equal(Enum1Type.One, converter.Convert("One", typeof(Enum1Type)));
            Assert.Equal(Enum1Type.Zero, converter.Convert("0", typeof(Enum1Type)));
            Assert.Equal(Enum1Type.One, converter.Convert("1", typeof(Enum1Type)));
            Assert.True(converter.UsedOnly <EnumConverterFactory>());
        }
        public void EnumerableToSameElementArray()
        {
            var converter = new TestObjectConverter();
            var source = new[] { 0, 1 }.Select(x => x);
            var destination = (int[])converter.Convert(source, typeof(int[]));

            Assert.Equal(2, destination.Length);
            Assert.Equal(0, destination[0]);
            Assert.Equal(1, destination[1]);
            Assert.True(converter.UsedOnly <EnumerableConverterFactory>());
        }
Exemple #15
0
        public void EnumerableToSameElementReadOnlyCollection()
        {
            var converter = new TestObjectConverter();
            var source = new[] { 0, 1 }.Select(x => x);
            var destination = (ReadOnlyCollection <int>)converter.Convert(source, typeof(ReadOnlyCollection <int>));

            Assert.Equal(2, destination.Count);
            Assert.Equal(0, destination[0]);
            Assert.Equal(1, destination[1]);
            Assert.True(converter.UsedOnly <EnumerableConverterFactory>());
        }
Exemple #16
0
        public void CollectionToOtherElementReadOnlyCollection()
        {
            var converter   = new TestObjectConverter();
            var source      = new WrapperCollection <int>(new[] { 0, 1 });
            var destination = (ReadOnlyCollection <string>)converter.Convert(source, typeof(ReadOnlyCollection <string>));

            Assert.Equal(2, destination.Count);
            Assert.Equal("0", destination[0]);
            Assert.Equal("1", destination[1]);
            Assert.True(converter.UsedIn(typeof(EnumerableConverterFactory), typeof(ToStringConverterFactory)));
        }
        public void EnumerableToOtherElementArray()
        {
            var converter = new TestObjectConverter();
            var source = new[] { 0, 1 }.Select(x => x);
            var destination = (string[])converter.Convert(source, typeof(string[]));

            Assert.Equal(2, destination.Length);
            Assert.Equal("0", destination[0]);
            Assert.Equal("1", destination[1]);
            Assert.True(converter.UsedIn(typeof(EnumerableConverterFactory), typeof(ToStringConverterFactory)));
        }
        public void EnumerableToSameElementConcurrentStack()
        {
            var converter = new TestObjectConverter();
            var source = new[] { 0, 1 }.Select(x => x);
            var destination = (ConcurrentStack <int>)converter.Convert(source, typeof(ConcurrentStack <int>));

            Assert.Equal(2, destination.Count);
            Assert.Contains(0, destination);
            Assert.Contains(1, destination);
            Assert.True(converter.UsedOnly <EnumerableConverterFactory>());
        }
        public void CollectionToSameElementStack()
        {
            var converter   = new TestObjectConverter();
            var source      = new WrapperCollection <int>(new[] { 0, 1 });
            var destination = (Stack <int>)converter.Convert(source, typeof(Stack <int>));

            Assert.Equal(2, destination.Count);
            Assert.Contains(0, destination);
            Assert.Contains(1, destination);
            Assert.True(converter.UsedOnly <EnumerableConverterFactory>());
        }
        public void CollectionToOtherElementConcurrentStack()
        {
            var converter   = new TestObjectConverter();
            var source      = new WrapperCollection <int>(new[] { 0, 1 });
            var destination = (ConcurrentStack <string>)converter.Convert(source, typeof(ConcurrentStack <string>));

            Assert.Equal(2, destination.Count);
            Assert.Contains("0", destination);
            Assert.Contains("1", destination);
            Assert.True(converter.UsedIn(typeof(EnumerableConverterFactory), typeof(ToStringConverterFactory)));
        }
Exemple #21
0
        public void LinkedListToOtherElementLinkedList()
        {
            var converter   = new TestObjectConverter();
            var source      = new WrapperList <int>(new[] { 0, 1 });
            var destination = (LinkedList <string>)converter.Convert(source, typeof(LinkedList <string>));

            Assert.Equal(2, destination.Count);
            Assert.Contains("0", destination);
            Assert.Contains("1", destination);
            Assert.True(converter.UsedIn(typeof(EnumerableConverterFactory), typeof(ToStringConverterFactory)));
        }
        public void EnumerableToOtherElementStack()
        {
            var converter = new TestObjectConverter();
            var source = new[] { 0, 1 }.Select(x => x);
            var destination = (Stack <string>)converter.Convert(source, typeof(Stack <string>));

            Assert.Equal(2, destination.Count);
            Assert.Contains("0", destination);
            Assert.Contains("1", destination);
            Assert.True(converter.UsedIn(typeof(EnumerableConverterFactory), typeof(ToStringConverterFactory)));
        }
        public void ArrayToOtherElementQueue()
        {
            var converter   = new TestObjectConverter();
            var source      = new[] { 0, 1 };
            var destination = (Queue <string>)converter.Convert(source, typeof(Queue <string>));

            Assert.Equal(2, destination.Count);
            Assert.Contains("0", destination);
            Assert.Contains("1", destination);
            Assert.True(converter.UsedIn(typeof(EnumerableConverterFactory), typeof(ToStringConverterFactory)));
        }
Exemple #24
0
        public void ArrayToSameElementLinkedList()
        {
            var converter   = new TestObjectConverter();
            var source      = new[] { 0, 1 };
            var destination = (LinkedList <int>)converter.Convert(source, typeof(LinkedList <int>));

            Assert.Equal(2, destination.Count);
            Assert.Contains(0, destination);
            Assert.Contains(1, destination);
            Assert.True(converter.UsedOnly <EnumerableConverterFactory>());
        }
        public void ListToSameElementConcurrentBag()
        {
            var converter   = new TestObjectConverter();
            var source      = new WrapperList <int>(new[] { 0, 1 });
            var destination = (ConcurrentBag <int>)converter.Convert(source, typeof(ConcurrentBag <int>));

            Assert.Equal(2, destination.Count);
            Assert.Contains(0, destination);
            Assert.Contains(1, destination);
            Assert.True(converter.UsedOnly <EnumerableConverterFactory>());
        }
        public void ConvertNullableImplicitToIntNullable()
        {
            var converter = new TestObjectConverter();

            Assert.Equal(1, converter.Convert <int?>(new NullableImplicitType {
                Value = 1
            }));
            Assert.Null(converter.Convert <int?>(new NullableImplicitType {
                Value = null
            }));
            Assert.True(converter.UsedOnly <ConversionOperatorConverterFactory>());
        }
Exemple #27
0
        public void CanNotConvertFromList()
        {
            var converter = new TestObjectConverter();

            Assert.False(converter.CanConvert(typeof(List <int>), typeof(StructType)));
        }
        public void CanNotConvertFromEnum()
        {
            var converter = new TestObjectConverter();

            Assert.False(converter.CanConvert(typeof(Enum1Type), typeof(StructType)));
        }
        public void NotAssignable()
        {
            var converter = new TestObjectConverter();

            Assert.Throws <ObjectConverterException>(() => converter.Convert(new BaseType(), typeof(DeliveredType)));
        }
        public void DateTimeCanNotCovert()
        {
            var converter = new TestObjectConverter();

            Assert.False(converter.CanConvert(typeof(DateTime), typeof(StructType)));
        }