Exemplo n.º 1
0
        protected override void Context()
        {
            _view                            = A.Fake <IEditTableFormulaWithXArgumentFormulaView>();
            _mapper                          = A.Fake <ITableFormulaWithXArgumentToTableFormulaWithXArgumentDTOMapper>();
            _formulaTask                     = A.Fake <IMoBiFormulaTask>();
            _displayUnitRetriever            = A.Fake <IDisplayUnitRetriever>();
            _applicationController           = A.Fake <IApplicationController>();
            _selectReferencePresenterFactory = A.Fake <ISelectReferencePresenterFactory>();
            _commandCollector                = A.Fake <ICommandCollector>();
            sut = new EditTableFormulaWithXArgumentFormulaPresenter(_view, _mapper, _formulaTask, _displayUnitRetriever, _applicationController, _selectReferencePresenterFactory);

            _tableFormulaWithXArgument = new TableFormulaWithXArgument();
            _parameter = new Parameter().WithName("Parameter");
            _container = new Container().WithName("Parent");
            _container.Add(_parameter);
            _referencePresenter = A.Fake <ISelectReferenceAtParameterPresenter>();
            _selectFormulaUsablePathPresenter = A.Fake <ISelectFormulaUsablePathPresenter>();
            _buildingBlock = A.Fake <IBuildingBlock>();

            A.CallTo(() => _selectReferencePresenterFactory.ReferenceAtParameterFor(_container)).Returns(_referencePresenter);
            A.CallTo(() => _applicationController.Start <ISelectFormulaUsablePathPresenter>()).Returns(_selectFormulaUsablePathPresenter);

            sut.BuildingBlock = _buildingBlock;
            sut.InitializeWith(_commandCollector);
        }
        public TableFormulaWithXArgumentDTO MapFrom(TableFormulaWithXArgument tableFormulaWithXArgument)
        {
            var dto = Map <TableFormulaWithXArgumentDTO>(tableFormulaWithXArgument);

            var xArgumentObjectPath = getPathByAlias(tableFormulaWithXArgument, tableFormulaWithXArgument.XArgumentAlias);

            if (xArgumentObjectPath != null)
            {
                dto.XArgumentObjectPath = _mapper.MapFrom(xArgumentObjectPath, tableFormulaWithXArgument);
            }

            var tableObjectPath = getPathByAlias(tableFormulaWithXArgument, tableFormulaWithXArgument.TableObjectAlias);

            if (tableObjectPath != null)
            {
                dto.TableObjectPath = _mapper.MapFrom(tableObjectPath, tableFormulaWithXArgument);
            }

            return(dto);
        }
Exemplo n.º 3
0
        public IMoBiCommand ChangeTableObject(TableFormulaWithXArgument formula, IFormulaUsablePath path, IBuildingBlock buildingBlock)
        {
            var command = new ChangeTableFormulaWithXArgumentTableObjectPathCommand(formula, path, buildingBlock).Run(_context);

            return(withUpdatedDefaultStateAndValueOrigin(command, formula, buildingBlock));
        }
        protected override void Context()
        {
            base.Context();
            _newName = "TOTO";
            _f1      = new ExplicitFormula("A+B");
            _f2      = new ExplicitFormula("A+B");
            _f3      = new ExplicitFormula("A+B");
            _f4      = new TableFormulaWithXArgument();
            _f1.AddObjectPath(new FormulaUsablePath(_initialSimulationName, "Liver", "Cell"));
            _f1.AddObjectPath(new FormulaUsablePath("Drug", "LogP"));
            _f2.AddObjectPath(new FormulaUsablePath("SU", "Liver", "Cell"));
            _f2.AddObjectPath(new FormulaUsablePath("Drug", "LogP"));
            _f3.AddObjectPath(new FormulaUsablePath(_initialSimulationName, "Liver", "Cell"));
            _f3.AddObjectPath(new FormulaUsablePath(_initialSimulationName, "LogP"));
            _f4.AddTableObjectPath(new FormulaUsablePath(_initialSimulationName, "SolubilityTable")
            {
                Alias = "Sol"
            });

            var p1 = new PKSimParameter().WithName("P1").WithFormula(_f1);
            var p2 = new PKSimParameter().WithName("P2").WithFormula(_f2);
            var p3 = new PKSimParameter().WithName("P3").WithFormula(_f3);
            var p4 = new PKSimParameter().WithName("P4").WithFormula(_f4);
            var c1 = new Container().WithName("C1");

            c1.Add(p3);
            c1.Add(p4);
            _root.Add(p1);
            _root.Add(p2);
            _root.Add(c1);

            var results = new SimulationResults {
                Time = new QuantityValues {
                    ColumnId = "0", QuantityPath = "baseGrid"
                }
            };

            _individualResults = new IndividualResults {
                IndividualId = 1
            };
            results.Add(_individualResults);

            var quantityCache = new PathCacheForSpecs <IQuantity>
            {
                { "Liver|Cell|Drug", new MoleculeAmount {
                      QuantityType = QuantityType.Drug
                  } },
                { "Liver|Cell|Meta", new MoleculeAmount {
                      QuantityType = QuantityType.Metabolite
                  } },
            };

            _individualResults.Add(new QuantityValues {
                PathList = new[] { "Liver", "Cell", "Drug" }.ToList()
            });
            _individualResults.Add(new QuantityValues {
                PathList = new[] { "Liver", "Cell", "Meta" }.ToList()
            });

            _individualSimulation.Results            = results;
            _individualSimulation.DataRepository     = new DataRepository();
            _individualSimulation.Reactions          = new ReactionBuildingBlock();
            _individualSimulation.SimulationSettings = new SimulationSettings();
            A.CallTo(_containerTask).WithReturnType <PathCache <IQuantity> >().Returns(quantityCache);

            A.CallTo(() => _curveNamer.RenameCurvesWithOriginalNames(_individualSimulation, A <Action> ._, true)).Invokes(x => x.Arguments[1].DowncastTo <Action>()());
        }
 private static IFormulaUsablePath getPathByAlias(TableFormulaWithXArgument tableFormulaWithXArgument, string pathAlias)
 {
     return(tableFormulaWithXArgument.ObjectPaths.SingleOrDefault(x => x.Alias.Equals(pathAlias)));
 }