protected override void Context() { base.Context(); _populationAnalysis = new PopulationPivotAnalysis(); _dataField = A.Fake <PopulationAnalysisDataField>().WithName("DATA"); _derivedField = A.Fake <PopulationAnalysisDerivedField>().WithName("DERIVED"); A.CallTo(_templateTask).WithReturnType <PopulationAnalysisDerivedField>().Returns(_derivedField); _populationAnalysis.Add(_dataField); }
public void LoadDerivedFieldFromTemplateFor(PopulationAnalysisDataField populationAnalysisDataField) { var newDerivedField = _populationAnalysisTemplateTask.LoadDerivedFieldFor(_populationAnalysis, populationAnalysisDataField); if (newDerivedField == null) { return; } AddField(newDerivedField); }
public void InitializeWith(IPopulationAnalysisField populationAnalysisField, IPopulationDataCollector populationDataCollector) { _dataField = populationAnalysisField as PopulationAnalysisDataField <string>; //this should never happen if (_dataField == null) { throw new ArgumentException(PKSimConstants.Error.GroupingCannotBeUsedWithFieldOfType(populationAnalysisField.DataType, GroupingDefinitions.ValueMapping.DisplayName)); } _groupingDefinition = new ValueMappingGroupingDefinition(populationAnalysisField.Name); var values = _dataField.GetValues(populationDataCollector).Distinct().ToList(); values.Each(v => _mapping.Add(mapFrom(v))); }
private bool validateReferenceFieldInGrouping(PopulationAnalysisDataField dataField, PopulationAnalysisGroupingField groupingField) { string referencedFieldName = groupingField.ReferencedFieldName; if (!string.Equals(referencedFieldName, dataField.Name, StringComparison.OrdinalIgnoreCase)) { var shouldUseField = _dialogCreator.MessageBoxYesNo(PKSimConstants.Warning.DerivedFieldWasSavedForAnotherField(referencedFieldName, dataField.Name)); if (shouldUseField == ViewResult.No) { return(false); } } groupingField.RenameReferencedFieldTo(dataField.Name); return(true); }
public PopulationAnalysisDerivedField LoadDerivedFieldFor(PopulationAnalysis populationAnalysis, PopulationAnalysisDataField populationAnalysisDataField) { var field = _templateTask.LoadFromTemplate <PopulationAnalysisDerivedField>(TemplateType.PopulationAnalysisField); if (field == null) { return(null); } //validate data type if (!field.CanBeUsedFor(populationAnalysisDataField.DataType)) { throw new PKSimException(PKSimConstants.Error.DerivedFieldCannotBeUsedForFieldOfType(field.Name, populationAnalysisDataField.Name, populationAnalysisDataField.DataType)); } //Rename referenced once loaded var groupingField = field as PopulationAnalysisGroupingField; if (groupingField != null) { if (!validateReferenceFieldInGrouping(populationAnalysisDataField, groupingField)) { return(null); } } //rename field if required if (populationAnalysis.Has(field.Name)) { var name = renameFieldAfterImport(populationAnalysis, field); if (string.IsNullOrEmpty(name)) { return(null); } field.Name = name; } return(field); }
private void addDataField(PopulationAnalysisDataField dataField, string fieldName) { addDataField(dataField.GetValuesAsObjects(_populationDataCollector), dataField.DataType, fieldName); }
private void addDataField(PopulationAnalysisDataField dataField) { addDataField(dataField, dataField.Name); }