public void CanConvertDataTableToEnumerableWithDependency() { var dt = DataTableExtensions.GetSchemaTable <TestClass>(); dt.Rows.Add(dt.NewRow()); dt.Rows[0]["Id"] = Guid.NewGuid(); dt.Rows[0]["Name"] = "Lightning Bug"; dt.Rows[0]["EmployeeId"] = 123456; dt.Rows.Add(dt.NewRow()); dt.Rows[1]["Id"] = Guid.NewGuid(); dt.Rows[1]["Name"] = "Firefly"; dt.Rows[1]["EmployeeId"] = 234567; var dependency = new UriBuilder(); var result = dt.Convert(() => new TestClassWithDependency(dependency)).ToArray(); result.Length.ShouldBe(2); result[0].Id.ShouldBe(dt.Rows[0]["Id"]); result[0].Name.ShouldBe(dt.Rows[0]["Name"]); result[0].EmployeeId.ShouldBe(dt.Rows[0]["EmployeeId"]); result[0].GetDependency().ShouldBeSameAs(dependency); result[1].Id.ShouldBe(dt.Rows[1]["Id"]); result[1].Name.ShouldBe(dt.Rows[1]["Name"]); result[1].EmployeeId.ShouldBe(dt.Rows[1]["EmployeeId"]); result[1].GetDependency().ShouldBeSameAs(dependency); }
public void CanGetSchemaDataTable() { var dt = DataTableExtensions.GetSchemaTable <TestClass>(); dt.Columns.Count.ShouldBe(3); dt.Columns["Id"].DataType.ShouldBe(typeof(Guid)); dt.Columns["Name"].DataType.ShouldBe(typeof(string)); dt.Columns["EmployeeId"].DataType.ShouldBe(typeof(int)); dt.Rows.Count.ShouldBe(0); }
public void CanConvertRowToInstance() { var dt = DataTableExtensions.GetSchemaTable <TestClass>(); var row = dt.NewRow(); var id = Guid.NewGuid(); var name = "Lightning Bug"; var employeeId = 123456; row["Id"] = id; row["Name"] = name; row["EmployeeId"] = employeeId; var instance = row.ToInstance <TestClass>(); instance.ShouldNotBeNull(); instance.Id.ShouldBe(id); instance.Name.ShouldBe(name); instance.EmployeeId.ShouldBe(employeeId); }
public void CanConvertRowToInstanceWithConstructorDependency() { var dt = DataTableExtensions.GetSchemaTable <TestClassWithDependency>(); var row = dt.NewRow(); var id = Guid.NewGuid(); var name = "Lightning Bug"; var employeeId = 123456; row["Id"] = id; row["Name"] = name; row["EmployeeId"] = employeeId; var dependency = new UriBuilder(); var instance = row.ToInstance(() => new TestClassWithDependency(dependency)); instance.ShouldNotBeNull(); instance.Id.ShouldBe(id); instance.Name.ShouldBe(name); instance.EmployeeId.ShouldBe(employeeId); instance.GetDependency().ShouldBeSameAs(dependency); }
public void CanConvertDataTableToEnumerable() { var dt = DataTableExtensions.GetSchemaTable <TestClass>(); dt.Rows.Add(dt.NewRow()); dt.Rows[0]["Id"] = Guid.NewGuid(); dt.Rows[0]["Name"] = "Lightning Bug"; dt.Rows[0]["EmployeeId"] = 123456; dt.Rows.Add(dt.NewRow()); dt.Rows[1]["Id"] = Guid.NewGuid(); dt.Rows[1]["Name"] = "Firefly"; dt.Rows[1]["EmployeeId"] = 234567; var result = dt.Convert <TestClass>().ToArray(); result.Length.ShouldBe(2); result[0].Id.ShouldBe(dt.Rows[0]["Id"]); result[0].Name.ShouldBe(dt.Rows[0]["Name"]); result[0].EmployeeId.ShouldBe(dt.Rows[0]["EmployeeId"]); result[1].Id.ShouldBe(dt.Rows[1]["Id"]); result[1].Name.ShouldBe(dt.Rows[1]["Name"]); result[1].EmployeeId.ShouldBe(dt.Rows[1]["EmployeeId"]); }
public DataTable GetSchemaTable() { return(DataTableExtensions.GetSchemaTable <T>()); }