예제 #1
0
        public void Convert_CanMapIdColumnsCorrectly()
        {
            var dataTable = DataTableForIdClasses();

            var results = DataTableConverter.Convert <TwoIdProperties>(dataTable);

            Assert.Equal(Count, results.Count);
        }
예제 #2
0
        public void Convert_CanMapSpecificIdColumnsCorrectly()
        {
            var dataTable = DataTableForIdClasses();

            var results = DataTableConverter.Convert <TwoSpecificIdPropertiesWithAttribute>(dataTable);

            Assert.Equal(idForIndex(7), results[7].TwoSpecificIdPropertiesWithAttributeId);
            Assert.Equal(addressIdForIndex(7), results[7].AddressId);
        }
예제 #3
0
        public void ConvertTestForDynamicNoRowsNoColumnsMap()
        {
            var studentList = new List <dynamic>();// { new { Name = "name1", Age = 18 } };
            DataTableConverter <dynamic> converter = new DataTableConverter <dynamic>();
            var dataTable = converter.Convert(studentList);

            Assert.AreEqual(0, dataTable.Columns.Count);
            Assert.AreEqual(0, dataTable.Rows.Count);
        }
예제 #4
0
        public void ConvertTestForTypedListWith0Rows()
        {
            var studentList = new List <Student>();         // { new Student { Name = "name1", Age = 18 } };
            DataTableConverter <Student> converter = new DataTableConverter <Student>();
            var dataTable = converter.Convert(studentList); //, new Dictionary<string, string> { { "Name", "姓名" }, { "Age", "年龄" } });

            Assert.AreEqual("Age", dataTable.Columns[0].ColumnName);
            Assert.AreEqual("姓名", dataTable.Columns[1].ColumnName);
        }
예제 #5
0
        public void Convert_CanMapIdColumnsWithAttributesCorrectly()
        {
            var dataTable = DataTableForIdClasses();

            var results = DataTableConverter.Convert <TwoIdPropertiesWithAttribute>(dataTable);

            Assert.Equal(Count, results.Count);
            Assert.Equal(idForIndex(7), results[7].Id);
            Assert.Equal(addressIdForIndex(7), results[7].AddressRef);
        }
예제 #6
0
        public void ConvertTestForDynamicNoRowsWithColumnsMap()
        {
            var studentList = new List <dynamic>();// { new { Name = "name1", Age = 18 } };
            DataTableConverter <dynamic> converter = new DataTableConverter <dynamic>();
            var dataTable = converter.Convert(studentList, new Dictionary <string, string> {
                { "Name", "姓名" }, { "Age", "年龄" }
            });

            Assert.AreEqual(2, dataTable.Columns.Count);
            Assert.AreEqual(0, dataTable.Rows.Count);
        }
예제 #7
0
        public void Convert_TwoAttributes_MapCorrectly()
        {
            var dataTable = GetDataTableForClassWithSomeAttributes();

            var resultsUsingAttribute = DataTableConverter.Convert <ClassWithSomeAttributes>(dataTable);

            dataTable.Columns["Beehive"].ColumnName = "beehive_count";

            var resultsUsingSecondAttribute = DataTableConverter.Convert <ClassWithSomeAttributes>(dataTable);

            Assert.Equal(resultsUsingAttribute.Select(r => r.Count), resultsUsingSecondAttribute.Select(r => r.Count));
        }
예제 #8
0
        public void Convert_AttributeOrPropertyName_MapCorrectly()
        {
            var dataTable = GetDataTableForClassWithSomeAttributes();

            var resultsUsingAttribute = DataTableConverter.Convert <ClassWithSomeAttributes>(dataTable);

            dataTable.Columns["Beehive"].ColumnName = "Count";

            var resultsUsingProperty = DataTableConverter.Convert <ClassWithSomeAttributes>(dataTable);

            Assert.Equal(resultsUsingAttribute.Select(r => r.Count), resultsUsingProperty.Select(r => r.Count));
        }
예제 #9
0
        public void ConvertTestForDynamicNoMapping()
        {
            var studentList = new List <dynamic> {
                new { Name = "name1", Age = 18 }
            };
            DataTableConverter <dynamic> converter = new DataTableConverter <dynamic>();
            var dataTable = converter.Convert(studentList);

            Assert.AreEqual("Name", dataTable.Columns[0].ColumnName);
            Assert.AreEqual("name1", dataTable.Rows[0][0].ToString());
            Assert.AreEqual("Age", dataTable.Columns[1].ColumnName);
        }
예제 #10
0
        public void ConvertTestForDynamic()
        {
            var studentList = new List <dynamic> {
                new { Name = "name1", Age = 18 }
            };
            DataTableConverter <dynamic> converter = new DataTableConverter <dynamic>();
            var dataTable = converter.Convert(studentList, new Dictionary <string, string> {
                { "Name", "姓名" }, { "Age", "年龄" }
            });

            Assert.AreEqual("姓名", dataTable.Columns[0].ColumnName);
            Assert.AreEqual("年龄", dataTable.Columns[1].ColumnName);
        }
예제 #11
0
        public void ConvertTestWithDescriptionWithoutOrder()
        {
            var studentList = new List <Student2> {
                new Student2 {
                    Name = "yf"
                }
            };
            DataTableConverter <Student2> converter = new DataTableConverter <Student2>();
            var dataTable = converter.Convert(studentList, null);

            Assert.AreEqual("姓名", dataTable.Columns[0].ColumnName);
            Assert.AreEqual("Age", dataTable.Columns[1].ColumnName);
        }
예제 #12
0
        public void ConvertToObjectList_ListOfMixedAttributePropertyClass_ConvertsWithOrder()
        {
            var dataTable = GetDataTableForClassWithSomeAttributes();

            var results = DataTableConverter.Convert <ClassWithSomeAttributes>(dataTable);

            int[] ints = new int[Count];

            for (int i = 0; i < Count; i++)
            {
                ints[i] = i;
            }

            Assert.Equal(ints, results.Select(r => r.Count));
        }