Beispiel #1
0
        protected override void Context()
        {
            base.Context();
            _columnInfos = new ColumnInfoCache
            {
                new ColumnInfo()
                {
                    Name = "Time", IsMandatory = true, BaseGridName = "Time"
                },
                new ColumnInfo()
                {
                    Name = "Concentration", IsMandatory = true, BaseGridName = "Time"
                },
                new ColumnInfo()
                {
                    Name = "Error", IsMandatory = false, RelatedColumnOf = "Concentration", BaseGridName = "Time"
                }
            };
            _columnInfos.ElementAt(1).SupportedDimensions.Add(DomainHelperForSpecs.ConcentrationDimensionForSpecs());
            _columnInfos.ElementAt(2).SupportedDimensions.Add(DomainHelperForSpecs.ConcentrationDimensionForSpecs());
            _metaDataCategories = new List <MetaDataCategory>()
            {
                new MetaDataCategory()
                {
                    Name        = "Time",
                    IsMandatory = true,
                },
                new MetaDataCategory()
                {
                    Name        = "Concentration",
                    IsMandatory = true
                },
                new MetaDataCategory()
                {
                    DisplayName = "Error",
                    IsMandatory = false
                },
                new MetaDataCategory()
                {
                    Name              = "Molecule",
                    IsMandatory       = false,
                    AllowsManualInput = true
                }
            };
            _mappingParameterEditorPresenter  = A.Fake <IMappingParameterEditorPresenter>();
            _metaDataParameterEditorPresenter = A.Fake <IMetaDataParameterEditorPresenter>();
            A.CallTo(() => _basicFormat.Parameters).Returns(_parameters);
            A.CallTo(() => _importer.CheckWhetherAllDataColumnsAreMapped(A <ColumnInfoCache> .Ignored,
                                                                         A <IEnumerable <DataFormatParameter> > .Ignored)).Returns(new MappingProblem()
            {
                MissingMapping = new List <string>(), MissingUnit = new List <string>()
            });

            sut = new ColumnMappingPresenter(_view, _importer, _mappingParameterEditorPresenter, _metaDataParameterEditorPresenter);
        }
        public void ValidateMapping()
        {
            invalidateErrorUnit();

            _mappingProblem = _importer.CheckWhetherAllDataColumnsAreMapped(_columnInfos, _mappings.Select(m => m.Source));
            setStatuses();
            if (_mappingProblem.MissingMapping.Count != 0 || _mappingProblem.MissingUnit.Count != 0)
            {
                OnMissingMapping(this,
                                 new MissingMappingEventArgs
                {
                    Message = _mappingProblem.MissingMapping.FirstOrDefault() ?? _mappingProblem.MissingUnit.FirstOrDefault()
                });
            }
            else
            {
                OnMappingCompleted(this, new EventArgs());
            }

            //at the end refresh the data in the columnMappingView grid, to ensure consistency
            View.RefreshData();
        }