private bool areSame(TransporterContainerTemplate transporter1, TransporterContainerTemplate transporter2) { return (transporter1.Gene == transporter2.Gene && transporter1.MembraneLocation == transporter2.MembraneLocation && transporter1.TransportType == transporter2.TransportType); }
private void updateTransporterContainerFromTemplate(TransporterExpressionContainer expressionContainer, TransporterContainerTemplate transporterContainerTemplate, TransportType defaultTransportType) { var transportType = transporterContainerTemplate?.TransportType ?? defaultTransportType; expressionContainer.TransportDirection = TransportDirections.DefaultDirectionFor(transportType, expressionContainer); }
protected override void Context() { base.Context(); _transporter = new IndividualTransporter { TransportType = TransportType.Efflux, Name = "toto" }; _transporterWithTemplate = new TransporterExpressionContainer { MembraneLocation = MembraneLocation.Apical }.WithName(_liver); _transporterWithoutTemplate = new TransporterExpressionContainer { MembraneLocation = MembraneLocation.Basolateral }.WithName("Kidney"); _transporter.Add(_transporterWithTemplate); _transporter.Add(_transporterWithoutTemplate); _transporterContainerTemplate = new TransporterContainerTemplate { MembraneLocation = MembraneLocation.Apical, TransportType = TransportType.Influx }; _defaultTemplate = new TransporterContainerTemplate { MembraneLocation = MembraneLocation.Basolateral, 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, _transporter.Name)).Returns(_allTransporterTemplates); A.CallTo(() => _repository.TransportersFor(_species, _kidney, _transporter.Name)).Returns(new List <TransporterContainerTemplate>()); A.CallTo(() => _repository.TransportersFor(_species, _kidney)).Returns(new List <TransporterContainerTemplate> { _defaultTemplate }); }
protected override void Context() { base.Context(); _transporterContainer = A.Fake<ITransporterExpressionContainer>(); A.CallTo(() => _transporterContainer.Name).Returns(_liver); _species = "human"; A.CallTo(() => _repository.TransportersFor(_species, _liver)).Returns(_allTransporters); _membrane = MembraneLocation.Apical; _transportType = TransportType.Efflux; _transporterContainerTemplate = new TransporterContainerTemplate {MembraneLocation = _membrane, TransportType = _transportType}; _allTransporters.Add(_transporterContainerTemplate); }
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>()); }