Ejemplo n.º 1
0
        public void ConvertFromType_StringType_ReturnDataType()
        {
            var type = typeof(string);
            var dt   = DataType.ConvertFromType(type);

            Assert.Equal(typeof(DataType), dt.GetType());
            Assert.Equal(type.FullName, dt.TypeName);
        }
Ejemplo n.º 2
0
        public void ConvertFromType_DataMemberName()
        {
            var dt = DataType.ConvertFromType(typeof(TestClass)) as StructType;

            Assert.NotNull(dt);
            Assert.Equal(2, dt.Fields.Count());
            Assert.Equal("Foo", dt.Fields.ElementAt(0).Name);
            Assert.Equal("bar", dt.Fields.ElementAt(1).Name);
        }
Ejemplo n.º 3
0
        public void ConvertFromType_StructType_ReturnStructType()
        {
            var type = typeof(TestStruct);
            var dt   = DataType.ConvertFromType(type) as StructType;

            Assert.NotNull(dt);
            Assert.Equal(typeof(StructType).Name, dt.TypeName);

            type.GetFields().ToList().ForEach(f =>
            {
                var field = dt.Fields.FirstOrDefault(x => x.Name == f.Name);
                Assert.NotNull(field);
            });
        }
Ejemplo n.º 4
0
        public void ConvertFromType_Unsupported_ReturnDataType()
        {
            var unsupportedTypes = new List <Type>
            {
                typeof(Queue <int>), typeof(Tuple <int, bool>), typeof(Dictionary <string, int>)
            };

            unsupportedTypes.ForEach(type =>
            {
                var dt = DataType.ConvertFromType(type);
                Assert.Equal(typeof(DataType), dt.GetType());
                Assert.Equal(type.FullName, dt.TypeName);
            });
        }
Ejemplo n.º 5
0
        public void ConvertFromType_SpecialValueType_ReturnDataType()
        {
            var primitiveTypes = new List <Type>
            {
                typeof(decimal), typeof(DateTime), typeof(Guid)
            };

            primitiveTypes.ForEach(type =>
            {
                var dt = DataType.ConvertFromType(type);
                Assert.Equal(typeof(DataType), dt.GetType());
                Assert.Equal(type.FullName, dt.TypeName);
            });
        }
Ejemplo n.º 6
0
        public void ConvertFromType_PrimitiveType_ReturnDataType()
        {
            var primitiveTypes = new List <Type>
            {
                typeof(byte), typeof(sbyte), typeof(bool),
                typeof(char), typeof(short), typeof(ushort),
                typeof(int), typeof(uint), typeof(long), typeof(ulong),
                typeof(float), typeof(double)
            };

            primitiveTypes.ForEach(type =>
            {
                var dt = DataType.ConvertFromType(type);
                Assert.Equal(typeof(DataType), dt.GetType());
                Assert.Equal(type.FullName, dt.TypeName);
            });
        }
Ejemplo n.º 7
0
        public void ConvertFromType_Nullable_ReturnNullableValueType()
        {
            var nullableTypes = new List <Type>
            {
                typeof(int?), typeof(TestStruct?)
            };

            var dataTypes = nullableTypes.Select(type => DataType.ConvertFromType(type) as NullableValueType).ToList();

            dataTypes.ForEach(dt =>
            {
                Assert.NotNull(dt);
                Assert.Equal(typeof(NullableValueType).Name, dt.TypeName);
            });

            Assert.Equal(typeof(int).FullName, dataTypes[0].ArgumentType.TypeName);
            Assert.Equal(typeof(StructType), dataTypes[1].ArgumentType.GetType());
        }
Ejemplo n.º 8
0
        public void ConvertFromType_List_ReturnArrayType()
        {
            var listTypes = new List <Type>
            {
                typeof(List <int>), typeof(List <string>), typeof(List <TestStruct>),
                typeof(List <int?>), typeof(List <List <int> >)
            };

            var expectedElementDataTypes = new List <Type>
            {
                typeof(DataType), typeof(DataType), typeof(StructType),
                typeof(NullableValueType), typeof(ArrayType)
            };

            for (int i = 0; i < listTypes.Count; i++)
            {
                var dt = DataType.ConvertFromType(listTypes[i]) as ArrayType;
                Assert.NotNull(dt);
                Assert.Equal(typeof(ArrayType).Name, dt.TypeName);
                Assert.Equal(expectedElementDataTypes[i], dt.ElementType.GetType());
            }
        }