public void FromDataTable_WrongType() { IDynamicTable table = new DynamicTable(DynamicTableType.Expandable); //columns table.PreDefineColumns( new List<IDynamicTableColumn>() { new DynamicTableColumn<string>("FirstName"), new DynamicTableColumn<int>("LastName"), new DynamicTableColumn<int>("Age"), new DynamicTableColumn<DateTime>("Birthday"), }); //import try { table.FromDataTable(CreateSimpleTestData()); Assert.Fail(); } catch (ArgumentException) { } //compare Assert.AreEqual(0, table.Rows.Count); }
public void FromDataTable_WrongColumnNames_WellFormed() { IDynamicTable table = new DynamicTable(DynamicTableType.WellFormed); //columns table.PreDefineColumns( new List<IDynamicTableColumn>() { new DynamicTableColumn<string>("FirstName"), new DynamicTableColumn<string>("LastNameeeeee"), new DynamicTableColumn<int>("Age"), new DynamicTableColumn<DateTime>("Birthday"), }); //import try { table.FromDataTable(CreateSimpleTestData()); Assert.Fail(); } catch (ArgumentException) { } }
public void FromDataTable_WrongNumberOfColumns_Expandable() { IDynamicTable table = new DynamicTable(DynamicTableType.Expandable); dynamic row; //columns table.PreDefineColumns( new List<IDynamicTableColumn>() { new DynamicTableColumn<string>("FirstName"), new DynamicTableColumn<string>("LastName"), new DynamicTableColumn<int>("Age"), }); //import table.FromDataTable(CreateSimpleTestData()); //compare Assert.AreEqual(2, table.Rows.Count); row = table.Rows[0]; Assert.AreEqual("Hans", row.FirstName); Assert.AreEqual("Mueller", row.LastName); Assert.AreEqual(30, row.Age); Assert.AreEqual(new DateTime(2001, 12, 20), row.Birthday); row = table.Rows[1]; Assert.AreEqual(null, row.FirstName); Assert.AreEqual("Meier", row.LastName); Assert.AreEqual(0, row.Age); Assert.AreEqual(new DateTime(0), row.Birthday); }
public void FromDataTable_Null() { IDynamicTable table = new DynamicTable(DynamicTableType.Expandable); //columns table.PreDefineColumns( new List<IDynamicTableColumn>() { new DynamicTableColumn<string>("FirstName"), new DynamicTableColumn<string>("LastName"), new DynamicTableColumn<int>("Age", -1), new DynamicTableColumn<string>("Street"), }); //import table.FromDataTable(null); //compare Assert.AreEqual(0, table.Rows.Count); }
public void FromDataTable_Standard_NotPreDefined() { IDynamicTable table = new DynamicTable(DynamicTableType.Expandable); dynamic row; //import table.FromDataTable(CreateSimpleTestData()); //compare Assert.AreEqual(2, table.Rows.Count); row = table.Rows[0]; Assert.AreEqual("Hans", row.FirstName); Assert.AreEqual("Mueller", row.LastName); Assert.AreEqual(30, row.Age); Assert.AreEqual(new DateTime(2001, 12, 20), row.Birthday); row = table.Rows[1]; Assert.AreEqual(null, row.FirstName); Assert.AreEqual("Meier", row.LastName); Assert.AreEqual(0, row.Age); Assert.AreEqual(new DateTime(0), row.Birthday); }
public void FromDataTable_Empty_NoRows_PreDefinedTable() { IDynamicTable table = new DynamicTable(DynamicTableType.Expandable); DataTable data; //columns table.PreDefineColumns( new List<IDynamicTableColumn>() { new DynamicTableColumn<string>("FirstName"), new DynamicTableColumn<string>("LastName"), new DynamicTableColumn<int>("Age", -1), new DynamicTableColumn<DateTime>("Birthday"), }); //prepare data data = CreateSimpleTestData(); data.Rows.Clear(); //import table.FromDataTable(data); //compare Assert.AreEqual(0, table.Rows.Count); }
public void FromDataTable_Empty_NoRows_NotPreDefined() { IDynamicTable table = new DynamicTable(DynamicTableType.Expandable); DataTable data; //prepare data data = CreateSimpleTestData(); data.Rows.Clear(); //import table.FromDataTable(data); //compare Assert.AreEqual(null, table.Columns); Assert.AreEqual(null, table.Rows); }
public void FromDataTable_Empty_NoColumns() { IDynamicTable table = new DynamicTable(DynamicTableType.Expandable); //columns table.PreDefineColumns( new List<IDynamicTableColumn>() { new DynamicTableColumn<string>("FirstName"), new DynamicTableColumn<string>("LastName"), new DynamicTableColumn<int>("Age", -1), new DynamicTableColumn<DateTime>("Birthday"), }); //import table.FromDataTable(new DataTable()); //compare Assert.AreEqual(0, table.Rows.Count); }
public void FromDataTable_AlreadyContainsRows() { IDynamicTable table = new DynamicTable(DynamicTableType.Expandable); //columns table.PreDefineColumns( new List<IDynamicTableColumn>() { new DynamicTableColumn<string>("FirstName"), new DynamicTableColumn<string>("LastName"), new DynamicTableColumn<int>("Age", -1), new DynamicTableColumn<DateTime>("Birthday"), }); //import table.FromDataTable(CreateSimpleTestData()); //compare Assert.AreEqual(2, table.Rows.Count); //import again try { table.FromDataTable(CreateSimpleTestData()); Assert.Fail(); } catch (NotSupportedException) { } }
public void ExportAndImport_DataTable() { IDynamicTable table = new DynamicTable(DynamicTableType.Expandable); dynamic row; DataTable data; //add values row = new ExpandoObject(); row.FirstName = "Hans"; row.LastName = "Mueller"; row.Age = 30; row.TimeStamp = new DateTime(2012, 12, 24, 1, 2, 3); table.AddRow(row); row = new ExpandoObject(); row.LastName = "Meier"; row.Street = "Main street"; table.AddRow(row); //compare Assert.AreEqual(2, table.Rows.Count); Assert.AreEqual(5, table.Columns.Count); //export data = table.AsDataTable(); //remove rows table.RemoveAllRows(); Assert.AreEqual(0, table.Rows.Count); Assert.AreEqual(5, table.Columns.Count); //import table.FromDataTable(data); //compare row = table.Rows[0]; Assert.AreEqual("Hans", row.FirstName); Assert.AreEqual("Mueller", row.LastName); Assert.AreEqual(30, row.Age); Assert.AreEqual(2012, row.TimeStamp.Year); Assert.AreEqual(12, row.TimeStamp.Month); Assert.AreEqual(24, row.TimeStamp.Day); Assert.AreEqual(1, row.TimeStamp.Hour); Assert.AreEqual(2, row.TimeStamp.Minute); Assert.AreEqual(3, row.TimeStamp.Second); Assert.AreEqual(null, row.Street); row = table.Rows[1]; Assert.AreEqual(null, row.FirstName); Assert.AreEqual("Meier", row.LastName); Assert.AreEqual(0, row.Age); Assert.AreEqual(0, row.TimeStamp.Ticks); Assert.AreEqual("Main street", row.Street); }