protected override void Context() { base.Context(); _obs1 = A.Fake <IAmountObserverBuilder>(); _obs1.MoleculeList.ForAll = true; _obs2 = A.Fake <IAmountObserverBuilder>(); _obs2.MoleculeList.ForAll = false; A.CallTo(() => _obs2.MoleculeList.MoleculeNames).Returns(new List <string> { _molecule2 }); _observerBuildingBlock.Add(_obs1); _observerBuildingBlock.Add(_obs2); A.CallTo(() => _observerMapper.MapFrom(_obs1, _buildConfiguration)).ReturnsLazily(x => A.Fake <IObserver>().WithName("obs1")); A.CallTo(() => _observerMapper.MapFrom(_obs2, _buildConfiguration)).ReturnsLazily(x => A.Fake <IObserver>().WithName("obs2")); _molecule1Container1 = new MoleculeAmount().WithName(_molecule1).WithQuantityType(QuantityType.Drug); _molecule2Container1 = new MoleculeAmount().WithName(_molecule2).WithQuantityType(QuantityType.Enzyme); _molecule1Container2 = new MoleculeAmount().WithName(_molecule1).WithQuantityType(QuantityType.Drug); _molecule2Container2 = new MoleculeAmount().WithName(_molecule2).WithQuantityType(QuantityType.Enzyme); var container1 = new Container().WithName("Container1"); container1.AddTag("OBS"); container1.AddTag("OBS1"); var container2 = new Container().WithName("Container2"); container2.AddTag("OBS"); container1.Add(_molecule1Container1); container1.Add(_molecule2Container1); container2.Add(_molecule1Container2); container2.Add(_molecule2Container2); _rootContainer.Add(container1); _rootContainer.Add(container2); _obs1.ContainerCriteria = Create.Criteria(x => x.With("OBS")); _obs2.ContainerCriteria = Create.Criteria(x => x.With("OBS1")); }
protected override void Context() { _observerBuilder = A.Fake <IAmountObserverBuilder>(); _editObserverBuilderView = A.Fake <IEditObserverBuilderView>(); _buildingBlock = new ObserverBuildingBlock(); _editFormulaPresenter = A.Fake <IEditFormulaPresenter>(); _commandCollector = A.Fake <ICommandCollector>(); _observerMapper = A.Fake <IObserverBuilderToDTOObserverBuilderMapper>(); sut = new EditAmountObserverBuilderPresenter( _editObserverBuilderView, A.Fake <IMoBiContext>(), A.Fake <IEditTaskFor <IAmountObserverBuilder> >(), _observerMapper, A.Fake <IViewItemContextMenuFactory>(), _editFormulaPresenter, A.Fake <ISelectReferenceAtAmountObserverPresenter>(), A.Fake <IMoleculeDependentBuilderPresenter>(), A.Fake <IDescriptorConditionListPresenter <IObserverBuilder> >() ); sut.InitializeWith(_commandCollector); sut.BuildingBlock = _buildingBlock; sut.Edit(_observerBuilder); }
public void TestSerializationWithoutFormula() { AmountObserverBuilder x1 = CreateObject <AmountObserverBuilder>(); x1.ForAll = true; x1.ContainerCriteria = Create.Criteria(x => x.With("Organ").And.Not("Compartment").And.InContainer("Liver").And.NotInContainer("Cell")); x1.Dimension = DimensionLength; IAmountObserverBuilder x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualAmountObserverBuilder(x2, x1); }
public void TestSerializationWithoutFormula() { AmountObserverBuilder x1 = CreateObject <AmountObserverBuilder>(); x1.ForAll = true; x1.ContainerCriteria = new DescriptorCriteria(); x1.ContainerCriteria.Add(new MatchTagCondition("Organ")); x1.ContainerCriteria.Add(new NotMatchTagCondition("Organ")); x1.Dimension = DimensionLength; IAmountObserverBuilder x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualAmountObserverBuilder(x2, x1); }
/// <summary> /// Creates amount specific observers-stored under molecules amount /// in the spatial structure of the model. /// Typical example: "Concentration"-Observer (M/V) /// </summary> private void createAmountObserver(IAmountObserverBuilder observerBuilder, IModel model, IEnumerable <IMoleculeBuilder> presentMolecules) { var moleculeNamesForObserver = moleculeBuildersValidFor(observerBuilder.MoleculeList, presentMolecules) .Select(x => x.Name).ToList(); foreach (var container in _allContainers.Where(observerBuilder.ContainerCriteria.IsSatisfiedBy).ToList()) { var amountsForObserver = container.GetChildren <IMoleculeAmount>(ma => moleculeNamesForObserver.Contains(ma.Name)); foreach (var amount in amountsForObserver) { var observer = addObserverInContainer(observerBuilder, amount, amount.QuantityType); _keywordReplacerTask.ReplaceIn(observer, model.Root, amount.Name); } } }
protected override void Context() { _interactionTaskContext = A.Fake <IInteractionTaskContext>(); _context = A.Fake <IMoBiContext>(); _project = A.Fake <IMoBiProject>(); _amountObserver = A.Fake <IAmountObserverBuilder>(); _amountObserverBuilderWithForbiddenName = new AmountObserverBuilder { Name = "forbidden name" }; _buildingBlock = new ObserverBuildingBlock { _amountObserverBuilderWithForbiddenName, _amountObserver }; _interactionTask = A.Fake <IInteractionTask>(); A.CallTo(() => _context.CurrentProject).Returns(_project); A.CallTo(() => _interactionTaskContext.Context).Returns(_context); A.CallTo(() => _project.ObserverBlockCollection).Returns(new[] { _buildingBlock }); A.CallTo(() => _interactionTaskContext.InteractionTask).Returns(_interactionTask); sut = new EditTasksForAmountObserverBuilder(_interactionTaskContext); }