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); }
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()); }
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(); } }
private static void addRepositoryToChartEditorWithDefaultCurveOptions(IChartEditorPresenter chartEditorPresenter, DataRepository dataRepository, DataColumn observationColumn, ICurve sourceCurve) { if (sourceCurve == null) { return; } chartEditorPresenter.AddDataRepository(dataRepository); AddCurveForColumnWithOptionsFromSourceCurve(chartEditorPresenter, observationColumn, sourceCurve); }
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); }); }); }
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); } }); }
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); }
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)); }
private void addObservedDataToChart(IChartEditorPresenter chartEditorPresenter, IEnumerable <IndividualSimulation> simulations) { simulations.Each(simulation => addObservedDataToChart(chartEditorPresenter, simulation)); }
public void UpdateDefaultSettings(IChartEditorPresenter chartEditorPresenter, IReadOnlyCollection <DataColumn> allAvailableColumns, IReadOnlyCollection <ISimulation> simulations, bool addCurveIfNoSourceDefined = true) { UpdateDefaultSettings(chartEditorPresenter, allAvailableColumns, simulations, addCurveIfNoSourceDefined, () => { addObservedDataToChart(chartEditorPresenter, simulations.OfType <IndividualSimulation>()); }); }
public void AttachPresenter(IChartEditorPresenter presenter) { _presenter = presenter; }
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); } }