示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
        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
        }
示例#4
0
        public void ToDataColumn()
        {
            var propertyFactory  = new PropertyMapper <CustomerRecord>();
            var dataColumnMapper = new DataColumnMapper <CustomerRecord>(propertyFactory);

            var dataColumn = dataColumnMapper.ToDataColumn(e => e.Id);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }