Beispiel #1
0
 protected override void Context()
 {
    _repository = A.Fake<ITransporterContainerTemplateRepository>();
    _eventPublisher = A.Fake<IEventPublisher>();
    sut = new TransportContainerUpdater(_repository, _eventPublisher);
 }
Beispiel #2
0
        protected override void Context()
        {
            _repository     = A.Fake <ITransporterContainerTemplateRepository>();
            _eventPublisher = A.Fake <IEventPublisher>();
            _transportDirectionRepository = A.Fake <ITransportDirectionRepository>();
            sut = new TransportContainerUpdater(_repository, _eventPublisher);
            _fractionExpressedApical       = DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(CoreConstants.Parameters.FRACTION_EXPRESSED_APICAL);
            _fractionExpressedApicalMucosa = DomainHelperForSpecs.ConstantParameterWithValue(0).WithName(CoreConstants.Parameters.FRACTION_EXPRESSED_APICAL);
            _fractionExpressedApicalBone   = DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(CoreConstants.Parameters.FRACTION_EXPRESSED_APICAL);
            //Indicates that this parameter should not be visible to the user and therefore remains unchanged
            _fractionExpressedApicalBone.Visible = false;
            _individual = A.Fake <ISimulationSubject>();
            _individual.Species.Name = _species;
            _transporter             = new IndividualTransporter {
                TransportType = TransportType.Efflux, Name = "toto"
            };
            var organism         = new Organism();
            var mucosa           = new Container().WithName(CoreConstants.Compartment.MUCOSA).WithParentContainer(organism);
            var liver            = new Container().WithName(CoreConstants.Organ.LIVER).WithParentContainer(organism);
            var liverCell        = new Container().WithName(CoreConstants.Compartment.INTRACELLULAR).WithParentContainer(liver);
            var kidney           = new Container().WithName(CoreConstants.Organ.KIDNEY).WithParentContainer(organism);
            var kidneyCell       = new Container().WithName(CoreConstants.Compartment.INTRACELLULAR).WithParentContainer(kidney);
            var bone             = new Container().WithName(CoreConstants.Organ.BONE).WithParentContainer(organism);
            var boneInterstitial = new Container().WithName(CoreConstants.Compartment.INTERSTITIAL).WithParentContainer(bone);

            _transporterWithTemplate = new TransporterExpressionContainer {
                TransportDirection = TransportDirectionId.InfluxInterstitialToIntracellular
            }
            .WithParentContainer(liverCell);
            _transporterWithoutTemplate = new TransporterExpressionContainer
            {
                TransportDirection = TransportDirectionId.EffluxIntracellularToInterstitial
            }
            .WithParentContainer(kidneyCell);

            _transporterInMucosa = new TransporterExpressionContainer {
                TransportDirection = TransportDirectionId.InfluxInterstitialToIntracellular
            }
            .WithParentContainer(mucosa);

            _transporterInBone = new TransporterExpressionContainer {
                TransportDirection = TransportDirectionId.InfluxInterstitialToIntracellular
            }
            .WithParentContainer(boneInterstitial);

            _transporterInMucosa.Add(_fractionExpressedApicalMucosa);
            _transporterWithoutTemplate.Add(_fractionExpressedApical);
            _transporterInBone.Add(_fractionExpressedApicalBone);

            A.CallTo(() => _individual.AllMoleculeContainersFor <TransporterExpressionContainer>(_transporter))
            .Returns(new[] { _transporterWithTemplate, _transporterWithoutTemplate, _transporterInMucosa, _transporterInBone });

            _transporterContainerTemplate = new TransporterContainerTemplate {
                TransportType = TransportType.Influx
            };
            _allTransporterTemplates.Add(_transporterContainerTemplate);

            A.CallTo(() => _repository.HasTransporterTemplateFor(_species, _transporter.Name)).Returns(true);
            A.CallTo(() => _repository.TransportTypeFor(_species, _transporter.Name)).Returns(TransportType.Influx);
            A.CallTo(() => _repository.TransportersFor(_species, liver.Name, _transporter.Name)).Returns(_allTransporterTemplates);
            A.CallTo(() => _repository.TransportersFor(_species, kidney.Name, _transporter.Name)).Returns(new List <TransporterContainerTemplate>());
        }