private static void AssertCopyToDataTable(Type type, DataTable actual) { var propertyDescriptors = MetaDataHelper.GetPropertiesToSerialize(type); Assert.AreEqual(propertyDescriptors.Count(), actual.Columns.Count); var expectedPropertyDescriptorNames = propertyDescriptors.Select(pd => pd.Name).ToList(); var actualNames = actual.Columns.Cast <DataColumn>().Select(dc => dc.ColumnName).ToList(); CollectionAssert.AreEquivalent(expectedPropertyDescriptorNames, actualNames); }
public void CopyToDataTableTest() { var listofNonSerializableClasses = NonSerializableClass.GenerateList(); CopyToDataTableAndAssert(listofNonSerializableClasses); CopyToDataTableAndAssert(MetaSingletons.MetaData.AddressType); listofNonSerializableClasses.Add(new SerializableClass { DateTimeField = DateTime.Now, IntField = listofNonSerializableClasses.Count, StringField = listofNonSerializableClasses.Count.ToString() }); CopyToDataTableAndAssert(listofNonSerializableClasses, typeof(SerializableClass)); var d = new DataGridView { AutoGenerateColumns = true, DataSource = listofNonSerializableClasses }; listofNonSerializableClasses.Insert(0, new SerializableClass { DateTimeField = DateTime.Now, IntField = listofNonSerializableClasses.Count, StringField = listofNonSerializableClasses.Count.ToString() }); CopyToDataTableAndAssert(listofNonSerializableClasses, typeof(SerializableClass)); CopyToDataTableAndAssert(MetaDataHelper.GetPropertiesToSerialize(typeof(AddressTypeEntity))); }