Пример #1
0
        protected override void Context()
        {
            _view = A.Fake <ISimulationTimeProfileChartView>();
            _chartDisplayPresenter          = A.Fake <IChartDisplayPresenter>();
            _pkAnalysisPresenter            = A.Fake <IIndividualPKAnalysisPresenter>();
            _chartEditorPresenter           = A.Fake <IChartEditorPresenter>();
            _chartEditorAndDisplayPresenter = A.Fake <IChartEditorAndDisplayPresenter>();
            _dataColumnToPathElementsMapper = A.Fake <IDataColumnToPathElementsMapper>();
            _chartTask                = A.Fake <IChartTask>();
            _dimensionFactory         = A.Fake <IDimensionFactory>();
            _observedDataTask         = A.Fake <IObservedDataTask>();
            _chartLayoutTask          = A.Fake <IChartEditorLayoutTask>();
            _chartUpdateTask          = A.Fake <IChartUpdater>();
            _presentationSettingsTask = A.Fake <IPresentationSettingsTask>();
            _allTemplates             = new List <ChartEditorLayoutTemplate>();
            A.CallTo(() => _chartLayoutTask.AllTemplates()).Returns(_allTemplates);
            A.CallTo(() => _chartEditorAndDisplayPresenter.EditorPresenter).Returns(_chartEditorPresenter);
            A.CallTo(() => _chartEditorAndDisplayPresenter.DisplayPresenter).Returns(_chartDisplayPresenter);
            A.CallTo(() => _chartEditorPresenter.ColumnSettingsFor(A <BrowserColumns> ._)).Returns(new GridColumnSettings(BrowserColumns.Origin.ToString()));
            A.CallTo(() => _chartEditorPresenter.ColumnSettingsFor(A <AxisOptionsColumns> ._)).Returns(new GridColumnSettings(AxisOptionsColumns.AxisType.ToString()));
            A.CallTo(() => _chartEditorPresenter.ColumnSettingsFor(A <CurveOptionsColumns> ._)).Returns(new GridColumnSettings(CurveOptionsColumns.xData.ToString()));
            _chartTemplatingTask   = A.Fake <IChartTemplatingTask>();
            _projectRetriever      = A.Fake <IProjectRetriever>();
            _chartPresenterContext = new ChartPresenterContext(_chartEditorAndDisplayPresenter, _curveNamer, _dataColumnToPathElementsMapper, _chartTemplatingTask, _presentationSettingsTask, _chartLayoutTask, _projectRetriever, _dimensionFactory);
            _curveNamer            = A.Fake <ICurveNamer>();

            sut = new SimulationTimeProfileChartPresenter(_view, _chartPresenterContext, _pkAnalysisPresenter, _chartTask, _observedDataTask, _chartTemplatingTask, _chartUpdateTask);
        }
        protected override void Context()
        {
            _view = A.Fake <ISimulationTimeProfileChartView>();
            _chartDisplayPresenter          = A.Fake <IChartDisplayPresenter>();
            _pkAnalysisPresenter            = A.Fake <IIndividualPKAnalysisPresenter>();
            _chartEditorPresenter           = A.Fake <IChartEditorPresenter>();
            _chartEditorAndDisplayPresenter = A.Fake <IChartEditorAndDisplayPresenter>();
            A.CallTo(() => _chartEditorAndDisplayPresenter.Control).Returns(new Control());
            _dataColumnToPathElementsMapper = A.Fake <IDataColumnToPathElementsMapper>();
            _quantityDisplayPathMapper      = A.Fake <IQuantityPathToQuantityDisplayPathMapper>();
            _chartTask        = A.Fake <IChartTask>();
            _observedDataTask = A.Fake <IObservedDataTask>();
            _chartLayoutTask  = A.Fake <IChartEditorLayoutTask>();
            _allTemplates     = new List <ChartEditorLayoutTemplate>();
            A.CallTo(() => _chartLayoutTask.AllTemplates()).Returns(_allTemplates);
            A.CallTo(() => _chartEditorAndDisplayPresenter.EditorPresenter).Returns(_chartEditorPresenter);
            A.CallTo(() => _chartEditorAndDisplayPresenter.DisplayPresenter).Returns(_chartDisplayPresenter);
            A.CallTo(() => _chartEditorPresenter.GetDataBrowserColumnSettings(A <BrowserColumns> .Ignored)).Returns(new GridColumnSettings(BrowserColumns.Origin.ToString()));
            A.CallTo(() => _chartEditorPresenter.GetAxisOptionsColumnSettings(A <AxisOptionsColumns> .Ignored)).Returns(new GridColumnSettings(AxisOptionsColumns.AxisType.ToString()));
            A.CallTo(() => _chartEditorPresenter.GetCurveOptionsColumnSettings(A <CurveOptionsColumns> .Ignored)).Returns(new GridColumnSettings(CurveOptionsColumns.xData.ToString()));
            _chartTemplatingTask   = A.Fake <IChartTemplatingTask>();
            _projectRetriever      = A.Fake <IProjectRetriever>();
            _userSettings          = A.Fake <IUserSettings>();
            _chartPresenterContext = A.Fake <ChartPresenterContext>();

            A.CallTo(() => _chartPresenterContext.ChartEditorAndDisplayPresenter).Returns(_chartEditorAndDisplayPresenter);
            A.CallTo(() => _chartPresenterContext.QuantityDisplayPathMapper).Returns(_quantityDisplayPathMapper);
            A.CallTo(() => _chartPresenterContext.EditorLayoutTask).Returns(_chartLayoutTask);
            A.CallTo(() => _chartPresenterContext.TemplatingTask).Returns(_chartTemplatingTask);
            A.CallTo(() => _chartPresenterContext.ProjectRetriever).Returns(_projectRetriever);

            sut = new SimulationTimeProfileChartPresenter(_view, _chartPresenterContext, _pkAnalysisPresenter, _chartTask, _observedDataTask, _chartTemplatingTask, _userSettings);
        }
Пример #3
0
        protected override void Context()
        {
            base.Context();
            _curve = new Curve();
            _curve.SetxData(A.Fake <DataColumn>(), A.Fake <IDimensionFactory>());

            _chartEditorPresenter = A.Fake <IChartEditorPresenter>();
            _simulations          = A.Fake <IReadOnlyCollection <IndividualSimulation> >();
            var individualSimulation = new IndividualSimulation {
                SimulationSettings = new SimulationSettings()
            };

            _simulations = new List <IndividualSimulation> {
                individualSimulation
            };
            var simulationConcentrationChart = new SimulationTimeProfileChart();

            individualSimulation.AddAnalysis(simulationConcentrationChart);

            var dataRepository = generateDataRepository();

            individualSimulation.AddUsedObservedData(dataRepository);
            simulationConcentrationChart.AddObservedData(dataRepository);
            simulationConcentrationChart.AddCurve(_curve);

            A.CallTo(() => _projectRetriever.CurrentProject.ObservedDataBy(dataRepository.Id)).Returns(dataRepository);
            _chartEditorPresenter.Edit(new CurveChart());
        }
Пример #4
0
 public void UpdateDefaultSettings(IChartEditorPresenter chartEditorPresenter, IReadOnlyCollection <DataColumn> allAvailableColumns, IReadOnlyCollection <ISimulation> simulations, bool addCurveIfNoSourceDefined = true, Action customUpdate = null)
 {
     using (_chartUpdater.UpdateTransaction(chartEditorPresenter.Chart))
     {
         addSimulationOutputs(chartEditorPresenter, allAvailableColumns, simulations, addCurveIfNoSourceDefined);
         customUpdate?.Invoke();
     }
 }
Пример #5
0
 private static void addRepositoryToChartEditorWithDefaultCurveOptions(IChartEditorPresenter chartEditorPresenter, DataRepository dataRepository, DataColumn observationColumn, ICurve sourceCurve)
 {
     if (sourceCurve == null)
     {
         return;
     }
     chartEditorPresenter.AddDataRepository(dataRepository);
     AddCurveForColumnWithOptionsFromSourceCurve(chartEditorPresenter, observationColumn, sourceCurve);
 }
Пример #6
0
 private void addObservedDataToChart(IChartEditorPresenter chartEditorPresenter, IndividualSimulation simulation)
 {
     allObservedDataIn(simulation).Each(observedData =>
     {
         var allObservationColumns = observedData.ObservationColumns();
         allObservationColumns.Each(observationColumn =>
         {
             var sourceCurve = CurvePlotting(simulation, observationColumn);
             addRepositoryToChartEditorWithDefaultCurveOptions(chartEditorPresenter, observedData, observationColumn, sourceCurve);
         });
     });
 }
Пример #7
0
        private void addSimulationOutputs(IChartEditorPresenter chartEditorPresenter, IReadOnlyCollection <DataColumn> allAvailableColumns, IReadOnlyCollection <ISimulation> simulations, bool addCurveIfNoSourceDefined)
        {
            var selectedColumns = simulations.SelectMany(x => x.OutputSelections).Take(Constants.MAX_NUMBER_OF_CURVES_TO_SHOW_AT_ONCE)
                                  .SelectMany(selection => allAvailableColumns.ColumnsForPath(selection.Path));

            selectedColumns.Each(column =>
            {
                var sourceCurve = CurvePlotting(simulations, column);
                if (addCurveIfNoSourceDefined || sourceCurve != null)
                {
                    AddCurveForColumnWithOptionsFromSourceCurve(chartEditorPresenter, column, sourceCurve);
                }
            });
        }
Пример #8
0
        protected override void Context()
        {
            base.Context();
            _allAvailableColumns  = A.Fake <IReadOnlyCollection <DataColumn> >();
            _chartEditorPresenter = A.Fake <IChartEditorPresenter>();
            var individualSimulation = new IndividualSimulation {
                SimulationSettings = new SimulationSettings()
            };

            _simulationCollection = new List <ISimulation> {
                individualSimulation
            };
            _chartWithObservedData = A.Fake <ChartWithObservedData>();
            A.CallTo(() => _chartEditorPresenter.Chart).Returns(_chartWithObservedData);
        }
        public ChartEditorAndDisplayPresenter(IChartEditorAndDisplayView chartEditorAndDisplayView, IChartDisplayPresenter chartDisplayPresenter,
                                              IChartEditorPresenter chartEditorPresenter, IChartEditorLayoutTask chartEditorLayoutTask, IStartOptions startOptions,
                                              IPresentationUserSettings presentationUserSettings)
            : base(chartEditorAndDisplayView)
        {
            _chartEditorAndDisplayView = chartEditorAndDisplayView;
            DisplayPresenter           = chartDisplayPresenter;
            EditorPresenter            = chartEditorPresenter;
            _chartEditorLayoutTask     = chartEditorLayoutTask;
            _startOptions             = startOptions;
            _presentationUserSettings = presentationUserSettings;
            _chartEditorAndDisplayView.AddDisplay(DisplayPresenter.View);
            _chartEditorAndDisplayView.AddEditor(EditorPresenter.View);

            AddSubPresenters(EditorPresenter, chartDisplayPresenter);
        }
Пример #10
0
        private void addObservedDataToChart(IChartEditorPresenter chartEditorPresenter, IndividualSimulation simulation)
        {
            var chartWithObservedData = chartEditorPresenter.Chart as ChartWithObservedData;

            if (chartWithObservedData != null)
            {
                _chartTask.UpdateObservedDataInChartFor(simulation, chartWithObservedData);
            }

            var allObservedDataColumnsToAdd = (from column in allObservedDataIn(simulation).SelectMany(x => x.Columns)
                                               let curve = CurvePlotting(simulation, column)
                                                           where curve != null
                                                           select new { curve, column, repository = column.Repository }).ToList();

            var allDataRepositoriesToAdd = allObservedDataColumnsToAdd.Select(x => x.repository).Distinct();

            chartEditorPresenter.AddDataRepositories(allDataRepositoriesToAdd);

            allObservedDataColumnsToAdd.Each(x => AddCurveForColumnWithOptionsFromSourceCurve(chartEditorPresenter, x.column, x.curve));
        }
Пример #11
0
 private void addObservedDataToChart(IChartEditorPresenter chartEditorPresenter, IEnumerable <IndividualSimulation> simulations)
 {
     simulations.Each(simulation => addObservedDataToChart(chartEditorPresenter, simulation));
 }
Пример #12
0
 public void UpdateDefaultSettings(IChartEditorPresenter chartEditorPresenter, IReadOnlyCollection <DataColumn> allAvailableColumns, IReadOnlyCollection <ISimulation> simulations, bool addCurveIfNoSourceDefined = true)
 {
     UpdateDefaultSettings(chartEditorPresenter, allAvailableColumns, simulations, addCurveIfNoSourceDefined, () => { addObservedDataToChart(chartEditorPresenter, simulations.OfType <IndividualSimulation>()); });
 }
Пример #13
0
 public void AttachPresenter(IChartEditorPresenter presenter)
 {
     _presenter = presenter;
 }
Пример #14
0
 protected static void AddCurveForColumnWithOptionsFromSourceCurve(IChartEditorPresenter chartEditorPresenter, DataColumn column, Curve sourceCurve)
 {
     chartEditorPresenter.AddCurveForColumn(column, sourceCurve?.CurveOptions);
 }
        public void InitFromTemplate(ICache <DataRepository, IMoBiSimulation> simulations, CurveChart chart, IChartEditorPresenter chartEditorPresenter, CurveChartTemplate chartTemplate, Func <DataColumn, string> curveNameDefinition, bool triggeredManually, bool propogateChartChangeEvent = true)
        {
            var allAvailableColumns = chartEditorPresenter.AllDataColumns.ToList();

            if (chartTemplate == null)
            {
                UpdateDefaultSettings(chartEditorPresenter, allAvailableColumns, simulations);
                return;
            }

            InitializeChartFromTemplate(chart, allAvailableColumns, chartTemplate, curveNameDefinition, triggeredManually, propogateChartChangeEvent);

            if (!chart.Curves.Any() && !triggeredManually)
            {
                UpdateDefaultSettings(chartEditorPresenter, allAvailableColumns, simulations);
            }
        }