protected override void Context() { _repository = A.Fake<ITransporterContainerTemplateRepository>(); _eventPublisher = A.Fake<IEventPublisher>(); sut = new TransportContainerUpdater(_repository, _eventPublisher); }
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>()); }