public void ToDataRow() { var customerRecord = new CustomerRecord { Id = 1, FirstName = "John", LastName = "Smith", AccountBalance = 25.60m, DateJoined = new DateTime(2018, 9, 15), IsActive = true, }; var propertyMapper = new PropertyMapper <CustomerRecord>(); var dataRowMapper = new DataRowMapper <CustomerRecord>(propertyMapper); var dataColumnMapper = new DataColumnMapper <CustomerRecord>(propertyMapper); var dataTable = new DataTable(); var dataColumns = dataColumnMapper.ToDataColumns().ToArray(); dataTable.Columns.AddRange(dataColumns); var dataRow = dataRowMapper.ToDataRow(dataTable, customerRecord); CustomerRecordAssert.Equal(customerRecord, dataRow); }
protected override Task Context() { _dataColumnMapper = A.Fake <DataColumnMapper>(); _extendedPropertyMapper = A.Fake <ExtendedPropertyMapper>(); sut = new DataRepositoryMapper(_extendedPropertyMapper, _dataColumnMapper); _dataRepository = DomainHelperForSpecs.ObservedData(); _dataColumn = _dataRepository.ObservationColumns().First(); _relatedColumn = new DataColumn("related", DomainHelperForSpecs.NoDimension(), _dataRepository.BaseGrid) { Values = new[] { 0f, 0f, 0f }, DataInfo = { Origin = ColumnOrigins.ObservationAuxiliary } }; _dataColumn.AddRelatedColumn(_relatedColumn); _dataRepository.Add(_relatedColumn); _dataRepository.Description = "description"; _dataRepository.Name = "thename"; _extendedProperty = new ExtendedProperty <string> { Name = "Name" }; _dataRepository.ExtendedProperties.Add(_extendedProperty); _dataColumnSnapshot = new Snapshots.DataColumn(); _extendedPropertySnapshot = new Snapshots.ExtendedProperty(); _baseGridSnapshot = new Snapshots.DataColumn(); A.CallTo(() => _dataColumnMapper.MapToSnapshot(_dataColumn)).Returns(_dataColumnSnapshot); A.CallTo(() => _extendedPropertyMapper.MapToSnapshot(_extendedProperty)).Returns(_extendedPropertySnapshot); A.CallTo(() => _extendedPropertyMapper.MapToModel(_extendedPropertySnapshot, A <SnapshotContext> ._)).Returns(_extendedProperty); A.CallTo(() => _dataColumnMapper.MapToSnapshot(_dataRepository.BaseGrid)).Returns(_baseGridSnapshot); return(Task.FromResult(true)); }
public void ToDataColumns() { var propertyFactory = new PropertyMapper <CustomerRecord>(); var dataColumnMapper = new DataColumnMapper <CustomerRecord>(propertyFactory); var dataColumns = dataColumnMapper.ToDataColumns().ToList(); Assert.Equal(6, dataColumns.Count); Assert.Equal("Id", dataColumns[0].ColumnName); Assert.Equal(typeof(int), dataColumns[0].DataType); Assert.False(dataColumns[0].AllowDBNull); Assert.Equal("FirstName", dataColumns[1].ColumnName); Assert.Equal(typeof(string), dataColumns[1].DataType); Assert.True(dataColumns[1].AllowDBNull); Assert.Equal("LastName", dataColumns[2].ColumnName); Assert.Equal(typeof(string), dataColumns[2].DataType); Assert.True(dataColumns[2].AllowDBNull); Assert.Equal("AccountBalance", dataColumns[3].ColumnName); Assert.Equal(typeof(decimal), dataColumns[3].DataType); Assert.False(dataColumns[3].AllowDBNull); Assert.Equal("DateJoined", dataColumns[4].ColumnName); Assert.Equal(typeof(DateTime), dataColumns[4].DataType); Assert.True(dataColumns[4].AllowDBNull); Assert.Equal("IsActive", dataColumns[5].ColumnName); Assert.Equal(typeof(bool), dataColumns[5].DataType); Assert.False(dataColumns[5].AllowDBNull); // TODO: VC: Also separate method per property, so that we can test various primitive types }
public void ToDataColumn() { var propertyFactory = new PropertyMapper <CustomerRecord>(); var dataColumnMapper = new DataColumnMapper <CustomerRecord>(propertyFactory); var dataColumn = dataColumnMapper.ToDataColumn(e => e.Id); }
public void ToDataTableNoRows() { var customerRecords = new List <CustomerRecord>(); var propertyMapper = new PropertyMapper <CustomerRecord>(); var dataColumnMapper = new DataColumnMapper <CustomerRecord>(propertyMapper); var dataRowMapper = new DataRowMapper <CustomerRecord>(propertyMapper); var dataTableMapper = new DataTableMapper <CustomerRecord>(dataColumnMapper, dataRowMapper); var dataTable = dataTableMapper.ToDataTable(customerRecords); Assert.Equal(customerRecords.Count, dataTable.Rows.Count); Assert.Equal(6, dataTable.Columns.Count); Assert.Equal(0, dataTable.Rows.Count); }
public void ToDataTableWithMultipleRows() { var customerRecords = new List <CustomerRecord> { new CustomerRecord { Id = 1, FirstName = "John", LastName = "Smith", AccountBalance = 25.60m, DateJoined = new DateTime(2018, 9, 15), IsActive = true, }, new CustomerRecord { Id = 2, FirstName = "Mary", LastName = "McDonanld", AccountBalance = 30.950m, DateJoined = new DateTime(2017, 4, 10), IsActive = false, } }; var propertyMapper = new PropertyMapper <CustomerRecord>(); var dataColumnMapper = new DataColumnMapper <CustomerRecord>(propertyMapper); var dataRowMapper = new DataRowMapper <CustomerRecord>(propertyMapper); var dataTableMapper = new DataTableMapper <CustomerRecord>(dataColumnMapper, dataRowMapper); var dataTable = dataTableMapper.ToDataTable(customerRecords); Assert.Equal(customerRecords.Count, dataTable.Rows.Count); Assert.Equal(6, dataTable.Columns.Count); // TODO: VC: Assert columns equality CustomerRecordAssert.Equal(customerRecords, dataTable.Rows); }